# 01 #
[Global]
FallbackTheme=_fallback

[Common]
InitialScreen="ScreenWarning"
FirstAttractScreen="ScreenWarning"
DefaultNoteSkinName="default"
DefaultEditorNoteSkinName="default"
StepsTypesToHide="lights-cabinet"
NoScoreName="SMTE"
AutoSetStyle=false
ScreenWidth=854
ScreenHeight=480

[ScreenWarning]
Class="ScreenAttract"
Fallback="ScreenAttract"
TimerSeconds=5
ForceTimer=true
TimerStealth=true
NextScreen="ScreenCompany"
PrevScreen=

[ScreenCompany]
Class="ScreenAttract"
Fallback="ScreenAttract"
PlayMusic=true
NextScreen="ScreenLogo"
TimerSeconds=15
ForceTimer=true
TimerStealth=true
PrevScreen=

# 02 #
[LightsManager]

[ProfileManager]

[SongManager]
NumSongGroupColors=12
SongGroupColor1=color("#0080ff")
SongGroupColor2=color("#ffff00")
SongGroupColor3=color("#de1919")
SongGroupColor4=color("#ff8800")
SongGroupColor5=color("#ff00ff")
SongGroupColor6=color("#00ff00")
SongGroupColor7=color("#20eade")
SongGroupColor8=color("#5c340e")
SongGroupColor9=color("#a70244")
SongGroupColor10=color("#ffffff")
SongGroupColor11=color("#6d6a0e")
SongGroupColor12=color("#888888")
CourseGroupColor1=color("1,1,1,1")
UseExtraColor=false
ExtraStagePlayerModifiers="Sudden"
ExtraStageStageModifiers="Sudden"
OMESPlayerModifiers="Blink"
OMESStageModifiers="Blink"
ExtraStage2DifficultyMin=11
ExtraStage2DifficultyMax=20

[UnlockManager]

# 03 #
[ArrowEffects]

[Background]

[Banner]

[BPMDisplay]
SetNoBpmCommand=stoptweening;stopeffect;maxwidth,128;linear,0.2;diffuse,Color("Gray");diffusebottomedge,BoostColor(Color("Gray"),0.875);
SetNormalCommand=stoptweening;stopeffect;maxwidth,128;linear,0.2;diffuse,Color("White");diffusebottomedge,BoostColor(Color("White"),0.875);
SetChangeCommand=stoptweening;stopeffect;maxwidth,128;linear,0.2;diffuse,Color("Orange");diffusebottomedge,BoostColor(Color("Orange"),0.875);
#SetRandomCommand=stoptweening;maxwidth,128;linear,0.2;diffuse,color("Green");textglowmode,'TextGlowMode_Inner';glowshift;effectcolor1,color("1,1,1,0.05");effectcolor2,color("1,1,1,0.325");
SetExtraCommand=stoptweening;maxwidth,128;linear,0.2;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.5);diffuseshift;effectcolor1,color("1,1,1,1");effectcolor2,color("0.475,0.475,0.475,1");
RandomCycleSpeed=0.15		--  smaller numbers mean the bpm cycles faster

[CodeDetector]
# For Future Reference:
# @ = Holding
# - = In Conjuction With / Then
# ~ = Released
# + = At The Same Time

[CodeDetectorOnline]

[CombinedLifeMeterTug]
# We don't use it.
MeterWidth=512-8
MeterHeight=40
FrameOnCommand=diffuse,Color("Blue");

[Combo]
ShowComboAt=1
LabelMinZoom=1
LabelMaxZoom=1.25
NumberMinZoom=1
NumberMaxZoom=1.25
NumberMaxZoomAt=100
PulseCommand=%function(self,param) self:finishtweening(); self:diffusealpha(1); self:zoom(1.05*param.Zoom); self:linear(0.05); self:zoom(param.Zoom); self:sleep(2); self:linear(0.5); self:diffusealpha(0); end;
PulseLabelCommand=%function(self,param) self:finishtweening(); self:diffusealpha(1); self:zoom(1.0125*param.LabelZoom); self:linear(0.05); self:zoom(param.LabelZoom); self:sleep(2); self:linear(0.5); self:diffusealpha(0); end;
NumberOnCommand=y,240-216-1.5;shadowlength,1;horizalign,right;vertalign,bottom;skewx,-0.125;
ComboLabelOnCommand=x,0;y,23;shadowlength,1;zoom,0.75;align,0,1
MissLabelOnCommand=x,0;y,23;shadowlength,1;zoom,0.75;align,0,1

[HoldJudgment]
HoldJudgmentLetGoCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1;linear,0.8;zoom,0.75;sleep,0.5;linear,0.1;diffusealpha,0
HoldJudgmentHeldCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1;linear,0.3;zoom,0.75;sleep,0.5;linear,0.1;diffusealpha,0

[HelpDisplay]
TipShowTime=7

[Judgment]
JudgmentW1Command=finishtweening;shadowlength,0;y,0;diffusealpha,1;zoom,1.4;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0;glowblink;effectperiod,0.05;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.75")
JudgmentW2Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.7;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0;glowblink;effectperiod,0.1;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.5")
JudgmentW3Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.2;linear,0.05;zoom,1;sleep,0.6;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0;glowblink;effectperiod,0.2;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.25")
JudgmentW4Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.1;linear,0.05;zoom,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0;
JudgmentW5Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.0;vibrate;effectmagnitude,1,2,2;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0
JudgmentMissCommand=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1;y,-20;linear,0.8;y,20;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0
# Late/Early 
OffsetOnCommand=finishtweening;y,50;shadowlength,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0;
OffsetLateCommand=finishtweening;y,50;shadowlength,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0;
OffsetEarlyCommand=finishtweening;y,50;shadowlength,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0;

[Protiming]
ProtimingOnCommand=shadowlength,1;horizalign,right;x,30;strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner";
AverageOnCommand=shadowlength,1;horizalign,left;x,32;y,8;zoom,0.75;diffuse,ColorLightTone( Color("Green") );strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner";
TextOnCommand=shadowlength,1;horizalign,left;x,32;y,-6;zoom,0.5;strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner";
#
ProtimingW1Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W1"];sleep,2;linear,0.5;diffuse,Color("Invisible");
ProtimingW2Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W2"];sleep,2;linear,0.5;diffuse,Color("Invisible");
ProtimingW3Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W3"];sleep,2;linear,0.5;diffuse,Color("Invisible");
ProtimingW4Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W4"];sleep,2;linear,0.5;diffuse,Color("Invisible");
ProtimingW5Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W5"];sleep,2;linear,0.5;diffuse,Color("Invisible");
ProtimingMissCommand=finishtweening;diffusealpha,1;zoom,1.15;glow,GameColor.Judgment["JudgmentLine_Miss"];linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_Miss"];sleep,2;linear,0.5;diffuse,Color("Invisible");
#
AveragePulseCommand=finishtweening;diffusealpha,1;zoom,0.75*1.025;decelerate,0.05;zoom,0.75;sleep,2;linear,0.5;diffusealpha,0;
TextPulseCommand=finishtweening;diffusealpha,1;zoom,0.5*1.025;decelerate,0.05;zoom,0.5;sleep,2;linear,0.5;diffusealpha,0;

[Course]

[CustomDifficulty]

[DifficultyList]
ItemsSpacingY=24
NumShownItems=8
CapitalizeDifficultyNames=true

[FadingBanner]
BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;accelerate,0.05;glow,Color.Alpha( Color("White"), 0.45 );decelerate,0.075;diffusealpha,0;glow,Color("Invisible");
BannerOnCommand=
BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;linear,0.1;glow,Color.Alpha(Color("White"),0.25);decelerate,0.15;glow,Color.Invisible;diffusealpha,0
BannerFadeOffCommand=diffusealpha,1;stoptweening;linear,0.1;diffusealpha,0
BannerResetFadeCommand=diffusealpha,1

BannerRouletteCommand=
BannerRandomCommand=

[Gameplay]
AvoidMineIncrementsCombo=false
ComboIsPerRow=true
MinScoreToContinueCombo="TapNoteScore_W4"
MinScoreToMaintainCombo="TapNoteScore_W4"
StartGivesUp=false
PauseWithStart=true
UnpauseWithStart=false
SelectSkipsSong=false

[GameState]
AllowLateJoin=true
GradeTierForExtra1="Grade_Tier03"
GradeTierForExtra2="Grade_Tier03"
MinDifficultyForExtra="Difficulty_Hard"
AllowExtra2=true
LockExtraStageSelection=false
EditAllowedForExtra=true

[GrooveRadar]
#Stream
Label1X=0
Label1Y=-93
#Voltage
Label2X=-116
Label2Y=-25
#Air
Label3X=-91
Label3Y=74
#Frezze
Label4X=99
Label4Y=69
#Chaos
Label5X=120
Label5Y=-25

RadarValueMapP1OnCommand=diffuse,PlayerColor(PLAYER_1);zoom,0.82
RadarValueMapP2OnCommand=diffuse,PlayerColor(PLAYER_2);zoom,0.82

[GroupList]

[HighScore]
EmptyName="TACV"

[Inventory]

[LifeMeterBar]
OverOnCommand=diffuse,Color(ThemePrefs.Get("ThemeColor"));diffuserightedge,BoostColor(Color(ThemePrefs.Get("ThemeColor")),1.5)
ForceLifeDifficultyOnExtraStage=false
MinScoreToKeepLife='TapNoteScore_W4'
DangerThreshold=0.25
LifePercentChangeW1=0.010

[LifeMeterBattery]
BatteryBlinkTime=0.5
#
BatteryP1X=0
BatteryP1Y=0
BatteryP2X=0
BatteryP2Y=0
#
NumLivesFormat=""
NumLivesP2OnCommand=zoomx,-1
NumLivesP2LoseLifeCommand=zoomx,-1.5;zoomy,1.5;linear,0.15;zoomx,-1;zoomy,1
MinScoreToKeepLife='TapNoteScore_W4'

[LifeMeterBattery Percent]
Format=
RemainderFormat=
#
PercentP1OnCommand=zoom,0.7;zoomx,0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_1)
DancePointsP1OnCommand=zoom,0.7;zoomx,0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_1)
PercentP2OnCommand=zoom,0.7;zoomx,-0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2)
DancePointsP2OnCommand=zoom,0.7;zoomx,-0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2)

[LifeMeterTime]

[LyricDisplay]

[NotesWriterSM]

[OptionRow]
TitleOnCommand=shadowlength,0;skewx,-0.1;uppercase,true;wrapwidthpixels,136;maxheight,42;zoom,0.6
TitleGainFocusCommand=stoptweening;zoom,0.6375*1.125;bounceend,0.1;diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);strokecolor,Color("Black");zoom,0.6375;
# TitleGainFocusCommand=stoptweening;zoom,0.6375*1.25;bounceend,0.05;diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);strokecolor,Color("Black");zoom,0.6375;thump;effectmagnitude,1,1.05,1;effectclock,'beat'
TitleLoseFocusCommand=diffuse,Color("White");strokecolor,Color("Black");stopeffect;
#
ItemsStartX=SCREEN_CENTER_X-140
ItemsEndX=SCREEN_CENTER_X+80
ItemsGapX=12
ItemsMinBaseZoom=0.5
ItemsLongRowP1X=SCREEN_CENTER_X-60
ItemsLongRowP2X=SCREEN_CENTER_X+100
ItemsLongRowSharedX=SCREEN_CENTER_X
ItemOnCommand=shadowlength,1;zoom,0.55
ItemGainFocusCommand=
ItemLoseFocusCommand=
TweenSeconds=0.05
ShowBpmInSpeedTitle=true

[OptionRowService]

[OptionRowExit]
FrameOnCommand=visible,true;diffuse,Color("Red");
FrameX=SCREEN_CENTER_X

ItemsMinBaseZoom=1
ItemOnCommand=shadowlength,1;zoom,0.8;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.75);shadowcolor,BoostColor(Color("Red"),0.35)
ItemGainFocusCommand=stoptweening;linear,0.1;zoom,1;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.75)
ItemLoseFocusCommand=stoptweening;decelerate,0.05;zoom,0.8;
ColorSelected=Color("Red")
ColorNotSelected=Color("Red")
ColorDisabled=Color("Red")

ItemsLongRowP1X=SCREEN_CENTER_X-1024
ItemsLongRowP2X=SCREEN_CENTER_X+1024
ItemsLongRowSharedX=SCREEN_CENTER_X

[OptionsCursor]

[OptionsCursorP1]
LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_1)
MiddleOnCommand=;diffuse,PlayerColor(PLAYER_1)
RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_1)

[OptionsCursorP2]
LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_2)
MiddleOnCommand=;diffuse,PlayerColor(PLAYER_2)
RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_2)

[OptionsUnderline]

[OptionsUnderlineP1]
LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_1)
MiddleOnCommand=;diffuse,PlayerColor(PLAYER_1)
RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_1)

[OptionsUnderlineP2]
LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_2)
MiddleOnCommand=;diffuse,PlayerColor(PLAYER_2)
RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_2)

[MenuTimer]
Text1OnCommand=horizalign,right;stopeffect;finishtweening;shadowlength,2;strokecolor,Color("Outline");
Text1FormatFunction=function(fSeconds) fSeconds=math.floor(fSeconds); return string.format("%02.0f",fSeconds) end

Text2OnCommand=x,2;y,3;stopeffect;stoptweening;halign,0;shadowlength,0;strokecolor,Color("Outline");zoom,0.65
Text2FormatFunction=function(fSeconds) local remainder=fSeconds-math.floor(fSeconds); local digit=math.floor(remainder*100); return string.format("%02.0f",digit) end

Warning10Command=diffuseshift;effectperiod,1;effectcolor1,Color.White;effectcolor2,Color.Red;

[MenuTimerNoSound]

[MenuTimerContinue]
Fallback="MenuTimer"
Text1OnCommand=strokecolor,Color.Outline;shadowlength,2
Text1FormatFunction=function(fSeconds) return string.format("%02.2f",fSeconds) end;

Text2OnCommand=visible,false
Text2FormatFunction=function(fSeconds) return "" end;


[MusicWheel]
SwitchSeconds=0.04
LockedInitialVelocity=7
ShowRoulette=false
RouletteSwitchSeconds=0.04
RouletteSlowDownSwitches=5
LockedInitialVelocity=15
; linear wheel example:
;	ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \
;		self:y(offsetFromCenter*38); \
;	end;
; 3D wheel example:
;	ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \
; 		local curve = math.pi; \
; 		local WHEEL_3D_RADIUS = 205; \
;		local rotationx_radians = scale(offsetFromCenter,-numItems/2,numItems/2,-curve/2,curve/2); \
;		self:x( -15 - math.cos(offsetFromCenter/math.pi)*20 ); \
;		self:y( WHEEL_3D_RADIUS * math.sin(rotationx_radians) ); \
;		self:z( -35 + WHEEL_3D_RADIUS * math.cos(rotationx_radians) ); \
;		self:rotationx( rotationx_radians * 150/math.pi );	--[[ to degrees end]] \
;		self:zoom(0.625); \
;	end;
# horizontal wheel example
#   ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \
#	    self:x( offsetFromCenter*173 ); \
#	    self:zoom( 1 ); \
#   end;
ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:x( (1-math.cos(offsetFromCenter/math.pi))*44 ); self:y( offsetFromCenter*46 ); end
NumWheelItems=13
MusicWheelSortOnCommand=fov,100;
MusicWheelSortOffCommand=fov,100;
MusicWheelItemSortOnCommand=zoomy,0;bounceend,0.05;zoomy,1
MusicWheelItemSortOffCommand=linear,0.05;zoomy,0
HighlightOnCommand=diffuseramp;effectcolor2,Color.White;effectcolor1,color("1,1,1,0.5");effectclock,'beatnooffset'
HighlightSortOnCommand=stoptweening;decelerate,0.05;glow,Color.Stealth;zoom,1
HighlightSortOffCommand=stoptweening;accelerate,0.05;glow,Color.Yellow;zoom,1.05
WheelItemOnDelayOffset=0.04
WheelItemOffDelayOffset=0.04
SectionColor1=Color("White")
#
SongRealExtraColor=Color("Red")
SortMenuColor=Color("Orange")
#
SortBPMDivision=10
SortLengthDivision=30
UseEasyMarkerFlag=true
ModeMenuChoiceNames="Preferred,Group,Title,Bpm,Artist,BeginnerMeter,EasyMeter,MediumMeter,HardMeter,ChallengeMeter,Genre,Length,Recent"
ChoiceBeginnerMeter="sort,BeginnerMeter"
NumWheelItems=20

[CourseWheel]

[OniWheel]
Fallback="CourseWheel"
ModeMenuChoiceNames="Oni,Survival"

[OnlineMusicWheel]

[MusicWheelItem]
WheelNotifyIconX=-128-16
WheelNotifyIconOnCommand=shadowlength,2;
#
SongNameX=-120
#
CourseX=-120
CourseOnCommand=maxwidth,208;horizalign,left
#
SectionExpandedX=-38
SectionExpandedY=-2
SectionExpandedOnCommand=maxwidth,194;shadowlength,1;shadowcolor,color("0.1,0.1,0.1,0.25")
#
SectionCollapsedX=-38
SectionCollapsedY=-2
SectionCollapsedOnCommand=maxwidth,194;shadowlength,1;shadowcolor,color("0.1,0.1,0.1,0.2")
#
SectionCountX=120
SectionCountOnCommand=zoom,0.75;strokecolor,Color("Outline")
#
RouletteOnCommand=maxwidth,400;shadowlength,1;basezoom,0.75;rainbowscroll,true;pulse;effectmagnitude,1,1.125,1;effectperiod,3
#
SortX=-132
SortY=-2
SortOnCommand=maxwidth,256;horizalign,left;shadowlength,1;shadowcolor,color("0,0,0,0.325")
#
ModeX=-132
ModeY=-2
ModeOnCommand=maxwidth,256;horizalign,left;strokecolor,Color("Outline")
#
GradeP1X=106+16
GradeP1Y=-8
GradeP2X=110+16
GradeP2Y=8

[NoteField]
ShowBoard=true

[PlayerStageStats]
GradePercentTier02=0.990000
GradeTier01IsAllW2s=false
GradeTier02IsAllW2s=true
GradeTier02IsAllW3s=false
GradeTier02IsAllW4s=false
GradeTier03IsAllW3s=true
GradeTier03IsAllW4s=false
GradeTier04IsAllW4s=true
GradeTier02IsFullCombo=true
GradeTier03IsFullCombo=true
GradeTier04isFullCombo=true

[Player]
# In The Groove
# ReceptorArrowsYStandard=-125
# ReceptorArrowsYReverse=145
# StepMania Alpha 4
# ~ ReceptorArrowsYStandard=-144
# ~ ReceptorArrowsYReverse=144
# SM5's default uses a UserPreference for this.
ReceptorArrowsYStandard=GetTapPosition('Standard')
ReceptorArrowsYReverse=GetTapPosition('Reverse')
ComboUnderField=ComboUnderField()
RollBodyIncrementsCombo=ThemePrefs.Get("ComboOnRolls")
PercentUntilColorCombo=0
JudgmentTransformCommand=%JudgmentTransformCommand
ComboTransformCommand=%ComboTransformCommand

[PlayerOptions]

[PlayerShared]

[Profile]

[RadarValues]

[RollingNumbers]

[RollingNumbersEvaluation]

[RollingNumbersJudgment]

[ScoreDisplayNormal]
TextOnCommand=shadowlength,1;

[ScoreDisplayOni]
TextX=
TextY=
TextOnCommand=shadowlength,1;
TextOffCommand=

[ScoreDisplayOni Numbers]
TextX=
TextY=
TextOnCommand=shadowlength,1;
TextOffCommand=

[ScoreDisplayLifeTime]
FrameOnCommand=visible,false;spin
#
TimeRemainingY=80
TimeRemainingOnCommand=zoom,1;shadowlength,1;
#
DeltaSecondsOnCommand=y,80;
DeltaSecondsGainLifeCommand=zoom,0.5;

[ScoreDisplayPercentage Percent]
PercentP1OnCommand=shadowlength,1;strokecolor,Color.Outline
PercentP2OnCommand=shadowlength,1;strokecolor,Color.Outline
DancePointsP1OnCommand=shadowlength,1;strokecolor,Color.Outline
DancePointsP2OnCommand=shadowlength,1;strokecolor,Color.Outline

[ScoreDisplayRave]
MeterP1OnCommand=draworder,-1;texcoordvelocity,1,0
MeterP2OnCommand=draworder,-1;zoomx,-1;texcoordvelocity,1,0
LevelP1OnCommand=draworder,105;zoom,0.75;diffuse,ColorLightTone( PlayerColor(PLAYER_1) );strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );x,-144;skewx,-0.125;
LevelP2OnCommand=draworder,105;draworder,105;zoom,0.75;diffuse,ColorLightTone( PlayerColor(PLAYER_2) );strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );x,144;skewx,-0.125;

[ScoreKeeperRave]

[ScreenEvaluation Percent]
# TODO: Better name?
PercentP1OnCommand=horizalign,right;shadowlength,1;diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );
PercentP2OnCommand=horizalign,right;shadowlength,1;diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );
PercentRemainderP1OnCommand=horizalign,left;shadowlength,1;diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );
PercentRemainderP2OnCommand=horizalign,left;shadowlength,1;diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );
DancePointsP1X=0
DancePointsP1Y=0
DancePointsP1OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );
DancePointsP1OffCommand=
DancePointsP2X=0
DancePointsP2Y=0
DancePointsP2OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );
DancePointsP2OffCommand=
DancePointsDigits=2
ApplyScoreDisplayOptions=true
PercentDecimalPlaces=2
PercentTotalSize=5

[SoundEffectControl]

[SoundEffectControl_Off]

[SoundEffectControl_Speed]

[SoundEffectControl_Pitch]

[StepsDisplayListRow]
# TODO: Make this use DifficultyList?
CapitalizeDifficultyNames=true
NumShownItems=5
ItemsSpacingY=24
MoveCommand=decelerate,0.05

FrameX=

FrameSetCommand=%function(self,param) \
	if param.CustomDifficulty and param.CustomDifficulty ~= "" then \
		self:diffuse(ColorMidTone( CustomDifficultyToColor(param.CustomDifficulty) )); \
	else \
		self:diffuse(color('1,1,1,1')); \
	end; \
end;
#
NumTicks=10
MaxTicks=10
#
ShowMeter=true
MeterX=56
MeterOnCommand=shadowlength,1;zoom,0.65;textglowmode,'TextGlowMode_Inner';
MeterSetCommand=%function(self,param) \
	if param.CustomDifficulty and param.CustomDifficulty ~= "" then \
		self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \
		self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \
	end; \
	if param.Meter then \
		if param.Meter >= 10 then \
			self:textglowmode('TextGlowMode_Inner'); \
			self:glowshift(); \
		else \
			self:stopeffect(); \
		end; \
	end; \
end;
#
ShowDescription=true
DescriptionX=ThemePrefs.Get("AutoSetStyle") and (-64-8+20) or (-64-8)
DescriptionOnCommand=shadowlength,1;horizalign,left;zoom,0.65;maxwidth,128+8-20;uppercase,true;
DescriptionSetCommand=%function(self,param) \
	if self:GetText() == "" then \
		self:settext("Ultimate"); \
	end; \
	if param.CustomDifficulty and param.CustomDifficulty ~= "" then \
		self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \
		self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \
	end; \
end;
#
ShowAutogen=true
AutogenX=0
AutogenY=0
AutogenOnCommand=diffuseshift;effectcolor1,Color.Alpha( Color("Green") , 0.5 );effectcolor2,ColorMidTone( Color("Green") );
#AutogenOnCommand=zoom,0.75;
#
ShowStepsType=ThemePrefs.Get("AutoSetStyle")
StepsTypeX=-64-8
StepsTypeY=0
StepsTypeOnCommand=
StepsTypeSetCommand=

[SongMeterDisplay]
StreamWidth=380

ContainerX=
ContainerY=
ContainerOnCommand=
ContainerOffCommand=

FrameX=0
FrameY=0
FrameOnCommand=sleep,2;linear,0.25;diffuse,Color("Blue");glow,1,1,1,0.5;decelerate,0.6;glow,1,1,1,0
FrameOffCommand=

StreamX=0
StreamY=0
StreamOnCommand=0
StreamOffCommand=0

TipX=0
TipY=0
TipOnCommand=
TipOffCommand=

[SongMeterDisplayP1]
Fallback="SongMeterDisplay"
FrameOnCommand=sleep,2;linear,0.25;diffuse,PlayerColor(PLAYER_1);glow,1,1,1,0.5;decelerate,0.6;glow,1,1,1,0

[SongMeterDisplayP2]
Fallback="SongMeterDisplay"
FrameOnCommand=sleep,2;linear,0.25;diffuse,PlayerColor(PLAYER_2);glow,1,1,1,0.5;decelerate,0.6;glow,1,1,1,0

[StepsDisplayEvaluation]
Fallback="StepsDisplay"

[StreamDisplay]
; a simple bar life meter:
; PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) local native_width=32; local zoomed_width=12; self:zoomx(zoomed_width/native_width); self:x((itemIndex-(numItems/2))*zoomed_width); end
# PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \
	# local fItemWidth = ( 256 / numItems ) \
	# self:x( ((itemIndex-(numItems/2))*fItemWidth) + ( numItems / 2 ) ); \
	# self:zoomtowidth(fItemWidth); \
	# self:diffuseramp(); \
	# self:effectperiod(4); \
	# self:effectoffset((itemIndex-1)/numItems * -1); \
	# self:effectcolor2(color("1,1,1,1")); \
	# self:effectcolor1(color("0.5,0.5,0.5,1")); \
	# self:effectclock('beatnooffset'); \
# end;
PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \
	local offset = itemIndex / numItems \
	local rate = 4 \
	local fItemWidth = ( 256 / numItems ) \
	self:x( ((itemIndex-(numItems/2))*fItemWidth) + ( numItems / 2 ) ); \
	self:zoomtowidth(fItemWidth); \
	self:diffuseramp(); \
	self:effectcolor2(color("1,1,1,1")); \
	self:effectcolor1(color("1,1,1,1")); \
	self:effectperiod(rate); \
	self:effectclock('beat'); \
	self:effectoffset(1-offset); \
end;
# PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \
	# local fItemWidth = ( 256 / numItems ) \
	# self:x( ((itemIndex-(numItems/2))*fItemWidth) + ( numItems / 2 ) ); \
	# self:zoomtowidth(fItemWidth); \
	# self:diffuseramp(); \
	# self:effecttiming(1,0.01875*itemIndex,1,1-(0.01875*itemIndex)); \
	# self:effectclock('beatnooffset'); \
# end;
TextureCoordScaleX=256/16
NumPills=16

[TextBanner]
TitleOnCommand=horizalign,left;shadowlength,1;
SubtitleOnCommand=horizalign,left;shadowlength,1;
ArtistOnCommand=horizalign,left;shadowlength,1;skewx,-0.2
ArtistPrependString=""

[TextBannerHighScore]
Fallback="TextBanner"

[WheelNotifyIcon]

[Screen]

[ScreenDebugOverlay]
BackgroundColor=color("0,0,0,0.875")

LineOnColor=Color.White
LineOffColor=color("0.75,0.75,0.75,1")
LineStartY=SCREEN_TOP+50
LineSpacing=18
LineButtonX=SCREEN_CENTER_X-50
LineFunctionX=SCREEN_CENTER_X-30
LineZoom=0.75

ButtonTextOnCommand=NoStroke;zoom,0.65;shadowlength,1
ButtonTextToggledCommand=linear,0.025;textglowmode,'TextGlowMode_Inner';glow,color("1,0,0,1");sleep,0.125;decelerate,0.2;glow,color("1,0,0,0");
FunctionTextOnCommand=NoStroke;zoom,0.65;skewx,-0.125;shadowlength,1

PageStartX=SCREEN_CENTER_X-100
PageSpacingX=120
PageTextOnCommand=NoStroke;zoom,0.75;strokecolor,Color.Outline;
PageTextGainFocusCommand=diffuse,color("1,1,1,1");skewx,-0.125;
PageTextLoseFocusCommand=diffuse,color("0.6,0.6,0.6,1")

DebugMenuHeaderX=SCREEN_LEFT+80
DebugMenuHeaderY=SCREEN_TOP+18
DebugMenuHeaderOnCommand=diffusebottomedge,color("0.675,0.675,0.675,1");strokecolor,Color.Outline
DebugMenuHeaderOffCommand=

HeaderTextX=SCREEN_LEFT+80
HeaderTextY=SCREEN_TOP+18
HeaderTextOnCommand=textglowmode,'TextGlowMode_Inner';glowshift;effectperiod,4;skewx,-0.125;diffusebottomedge,color("0.75,0.75,0.75,1");strokecolor,Color.Outline
HeaderTextOffCommand=
#

[ScreenSystemLayer]
ShowCreditDisplay=true
CreditsP1OnCommand=horizalign,left;vertalign,bottom;zoom,0.675;shadowlength,1;diffuse,PlayerColor(PLAYER_1);diffusetopedge,ColorLightTone(PlayerColor(PLAYER_1));
#
CreditsP2OnCommand=horizalign,right;vertalign,bottom;zoom,0.675;shadowlength,1;diffuse,PlayerColor(PLAYER_2);diffusetopedge,ColorLightTone(PlayerColor(PLAYER_2));
#

[ScreenConsoleOverlay]

[ScreenInstallOverlay]

[ScreenSyncOverlay]
StatusOnCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+90;shadowlength,2;strokecolor,color("#000000");

[ScreenStatsOverlay]

[ScreenWithMenuElements]
WaitForChildrenBeforeTweening=true
ScreenInDelay=0
ScreenOutDelay=0
FOV=90
ShowHeader=true
HeaderX=SCREEN_CENTER_X
HeaderY=SCREEN_TOP-2
HeaderOnCommand=draworder,1;
HeaderOffCommand=
ShowFooter=true
FooterX=SCREEN_CENTER_X
FooterY=SCREEN_BOTTOM+4
FooterOnCommand=draworder,1;
FooterOffCommand=
ShowHelp=true
HelpX=SCREEN_CENTER_X
HelpY=SCREEN_BOTTOM-16
HelpOnCommand=SetSecsBetweenSwitches,4;zoom,0.675;maxwidth,480/0.675;shadowlength,1;strokecolor,Color("Black");draworder,105;zoomy,0;zoom,1*0.675;linear,0.175
HelpOffCommand=linear,0.175;zoomy,0
AlternateHelpDisplayX=SCREEN_CENTER_X
AlternateHelpDisplayY=SCREEN_BOTTOM-16
# AlternateHelpDisplayOnCommand=draworder,105;
AlternateHelpDisplayOnCommand=SetSecsBetweenSwitches,4;zoom,0.675;maxwidth,480/0.675;shadowlength,1;strokecolor,Color("Black");draworder,105;zoomy,0;linear,0.175;zoom,1*0.675;diffusealpha,0
AlternateHelpDisplayOffCommand=linear,0.175;zoomy,0
TimerX=SCREEN_RIGHT-36
TimerY=SCREEN_TOP+28
TimerOnCommand=draworder,2;visible,PREFSMAN:GetPreference("MenuTimer");
# TimerOnCommand=fov,90;vanishpoint,SCREEN_RIGHT-36-4,SCREEN_TOP+20;draworder,5;visible,PREFSMAN:GetPreference("MenuTimer");rotationy,90;decelerate,0.4;rotationy,0;
TimerOffCommand=
# TimerOffCommand=accelerate,0.4;rotationx,90;
StageDisplayNumberOffset=1
#
StageDisplayUseShortString=false
# This is useful 
ArcadeOverlayX=
ArcadeOverlayY=
ArcadeOverlayOnCommand=draworder,100
ArcadeOverlayOffCommand=
#
ArcadeOverlay.TextX=SCREEN_CENTER_X
ArcadeOverlay.TextY=SCREEN_BOTTOM-48
ArcadeOverlay.TextOnCommand=
ArcadeOverlay.TextOffCommand=
#
ShowCreditDisplay=true

[ScreenWithMenuElementsBlank]
ShowHeader=false
ShowFooter=false

[ScreenSelectMaster]

[ScreenSelectMasterBlank]

[ScreenTextEntry]
QuestionOnCommand=diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);wrapwidthpixels,600
AnswerOnCommand=diffuse,Color("Blue");glowshift;

[ScreenTitleMenu]
PrevScreen="ScreenCompany"
ShowHeader=true
ShowFooter=true
PlayMusic=true
ShowHelp=true
HelpY=SCREEN_BOTTOM-16
HelpOnCommand=draworder,100;zoom,0.7;shadowlength,0;diffuseshift;effectcolor1,color("#FFFFFF");effectcolor2,color("#9A9999");effectperiod,1.5;
HelpOffCommand=
#
#WrapScroller=false
#ScrollerTransform=function(self,offset,itemIndex,numItems) self:y((25)*(itemIndex-(numItems-1)/2)); end;
#ScrollerSecondsPerItem=0
#ScrollerNumItemsToDraw=20
#ScrollerX=SCREEN_CENTER_X
#ScrollerY=SCREEN_CENTER_Y+108
#ScrollerOnCommand=zoom,0;bounceend,0.35;zoom,1
#
#ChoiceNames="GameStart,Edit,Training,Options,Exit"
#ChoiceGameStart="applydefaultoptions;text,Game Start;screen,"..Branch.AfterTitleMenu()
#ChoiceEdit="text,Edit Mode;screen,ScreenEditMenu"
#ChoiceTraining="text,Practice Mode;screen,ScreenPracticeMenu"
#
ShowScroller=true
ScrollerX=SCREEN_CENTER_X
ScrollerY=SCREEN_CENTER_Y+110
ScrollerOnCommand=zoom,1;SetFastCatchup,true;
ScrollerOffCommand=glowshift
#ScrollerTransform=function(self,offset,itemIndex,numItems) self:y(itemIndex*28) end;
ScrollerTransform=function(self,offset,itemIndex,numItems) end;
#
ChoiceNames="1,2,4,6,5,7"
DefaultChoice="1"
Choice1="applydefaultoptions;text,Normal Mode;screen,ScreenCaution"
Choice2="text,Edit Mode;screen,ScreenEditMenu"
Choice3="text,Practice Mode;screen,ScreenPracticeMenu"
Choice4="text,Jukebox;screen,ScreenJukeboxMenu"
Choice5="screen,ScreenOptionsService;text,Options"
Choice6="urlnoexit,https://smtacvicomedition.wixsite.com/english;text,Website"
Choice7="screen,ScreenExit;text,Exit"
#
ShowIcon=true
UseIconMetrics=true
#
IconGainFocusCommand=stoptweening;bounceend,0.125;zoom,1;
IconLoseFocusCommand=stoptweening;decelerate,0.25;zoom,0.8;
IconPositionY=SCREEN_CENTER_Y+130
#
IconChoice1X=SCREEN_CENTER_X-60
IconChoice1Y=THEME:GetMetric("ScreenTitleMenu","IconPositionY");
#
IconChoice2X=SCREEN_CENTER_X-40
IconChoice2Y=THEME:GetMetric("ScreenTitleMenu","IconPositionY");
#
IconChoice3X=SCREEN_CENTER_X-20
IconChoice3Y=THEME:GetMetric("ScreenTitleMenu","IconPositionY");
#
IconChoice4X=SCREEN_CENTER_X
IconChoice4Y=THEME:GetMetric("ScreenTitleMenu","IconPositionY");
#
IconChoice5X=SCREEN_CENTER_X+20
IconChoice5Y=THEME:GetMetric("ScreenTitleMenu","IconPositionY");
#
IconChoice6X=SCREEN_CENTER_X+40
IconChoice6Y=THEME:GetMetric("ScreenTitleMenu","IconPositionY");
#
IconChoice7X=SCREEN_CENTER_X+60
IconChoice7Y=THEME:GetMetric("ScreenTitleMenu","IconPositionY");
#
ShowLogo=true
LogoX=SCREEN_CENTER_X-48
LogoY=SCREEN_CENTER_Y-90
LogoOnCommand=bob;effectperiod,3;effectmagnitude,0,7.5,0;zoom,0;bounceend,0.375;zoom,1;
LogoOffCommand=stopeffect;bouncebegin,0.25;zoom,0
#
ShowTimingDifficulty=false
TimingDifficultyX=SCREEN_LEFT+16
TimingDifficultyY=SCREEN_TOP+22
TimingDifficultyOnCommand=
TimingDifficultyOffCommand=
#
ShowLifeDifficulty=false
LifeDifficultyX=SCREEN_LEFT+16
LifeDifficultyY=SCREEN_TOP+44
LifeDifficultyOnCommand=
LifeDifficultyOffCommand=
#
ShowNumSongs=true
NumSongsX=SCREEN_LEFT+16
NumSongsY=SCREEN_TOP+68
NumSongsOnCommand=vertalign,bottom;horizalign,left;zoom,0.5;shadowlength,1;playcommand,"Set"
NumSongsOffCommand=
#
ShowCurrentGametype=false
CurrentGametypeX=SCREEN_LEFT+16
CurrentGametypeY=SCREEN_TOP+24
CurrentGametypeOnCommand=vertalign,bottom;horizalign,left;zoom,0.75;shadowlength,2
CurrentGametypeOffCommand=
#
ShowSystemDirection=false
SystemDirectionX=SCREEN_LEFT+40
SystemDirectionY=SCREEN_TOP+24
SystemDirectionOnCommand=
SystemDirectionOffCommand=
#
ShowVersionInfo=false
VersionInfoX=SCREEN_RIGHT-16
VersionInfoY=SCREEN_TOP+24
VersionInfoOnCommand=
VersionInfoOffCommand=
#
ShowNetworkStatus=false
NetworkStatusX=SCREEN_LEFT+12
NetworkStatusY=SCREEN_BOTTOM-64
NetworkStatusOnCommand=halign,0;
NetworkStatusOffCommand=linear,0.5;cropright,1
#
ShowClock=true
ClockX=SCREEN_RIGHT-105
ClockY=SCREEN_TOP+24
ClockOnCommand=vertalign,bottom;zoom,0.75;shadowlength,2
ClockOffCommand=

[ScreenQuickSetupOverview]

IconStartX=SCREEN_CENTER_X-160
IconStartY=SCREEN_BOTTOM-60
IconSetX=SCREEN_CENTER_X-160
IconSetY=SCREEN_BOTTOM-60
IconBackX=SCREEN_CENTER_X+160
IconBackY=SCREEN_BOTTOM-60

ExplanationX=SCREEN_CENTER_X
ExplanationY=SCREEN_BOTTOM-100
ExplanationOnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_WIDTH/0.75;
ExplanationOffCommand=

[ScreenProfileLoad]
#
ShowHeader=true
ShowFooter=true
ShowHelp=true
PrepareScreens="ScreenSelectStyle"

[ScreenSelectProfile]
WaitForChildrenBeforeTweening=true

[ScreenCaution]
TimerSeconds=3
PrepareScreens="ScreenSelectStyle"

[ScreenSelectStyle]
Class="ScreenSelectMaster"
Fallback="ScreenSelectMaster"
PrevScreen="ScreenTitleMenu"
TimerSeconds=42
#
# ChoiceNames="lua,ScreenSelectStyleChoices()" will not be used for this theme,
# because cannot allow the work of the metrics below. I did the ScreenSelectPlayModeDouble
# as a way to remove the Rave mode icon for not being compatible with those modes you see.
# The locked banner when those modes in the Default theme says everything.
ChoiceNames=GAMESTATE:GetCurrentGame():GetName()=="dance" and "Single,Solo,Versus,Couple,Routine,Double" or GAMESTATE:GetCurrentGame():GetName()=="pump" and "Single,Versus,Couple,Routine,HalfDouble,Double" or GAMESTATE:GetCurrentGame():GetName()=="para" and "Single,Versus" or GAMESTATE:GetCurrentGame():GetName()=="kickbox" and "Human,Quadarm,Hversus,Qversus" or GAMESTATE:GetCurrentGame():GetName()=="techno" and "TechnoSingle4,TechnoSingle5,TechnoSingle8,TechnoVersus4,TechnoVersus5,TechnoVersus8,TechnoDouble4,TechnoDouble5,TechnoDouble8"
DefaultChoice=GAMESTATE:GetCurrentGame():GetName()=="dance" and "Single" or GAMESTATE:GetCurrentGame():GetName()=="pump" and "Single" or GAMESTATE:GetCurrentGame():GetName()=="para" and "Single" or GAMESTATE:GetCurrentGame():GetName()=="techno" and "TechnoSingle4" or GAMESTATE:GetCurrentGame():GetName()=="kickbox" and "Human" or "Single,Versus"
# Dance & Pump
ChoiceSingle="name,Single;style,single;text,Single;screen,ScreenSelectPlayMode"
ChoiceVersus="name,Versus;style,versus;text,Versus;screen,ScreenSelectPlayMode"
ChoiceDouble="name,Double;style,double;text,Double;screen,ScreenSelectPlayModeDouble"
ChoiceSolo="name,Solo;style,solo;text,Solo;screen,ScreenSelectPlayModeDouble"
ChoiceCouple="name,Couple;style,couple;text,Couple;screen,ScreenSelectPlayMode"
ChoiceRoutine="name,Routine;style,routine;text,Routine;screen,ScreenSelectPlayModeDouble"
# pump
ChoiceHalfDouble="name,HalfDouble;style,halfdouble;text,HalfDouble;screen,ScreenSelectPlayModeDouble"
# beat
Choice5Keys="name,5Keys;style,single5;text,5Keys;screen,ScreenSelectPlayModeDouble"
Choice7Keys="name,7Keys;style,single7;text,7Keys;screen,ScreenSelectPlayModeDouble"
ChoiceVersus5Keys="name,Versus5Keys;style,versus5;text,Versus5;screen,ScreenSelectPlayModeDouble"
ChoiceVersus7Keys="name,Versus7Keys;style,versus7;text,Versus7;screen,ScreenSelectPlayModeDouble"
Choice10Keys="name,10Keys;style,double5;text,10Keys;screen,ScreenSelectPlayModeDouble"
Choice14Keys="name,14Keys;style,double7;text,14Keys;screen,ScreenSelectPlayModeDouble"
# kb7
ChoiceKB7="name,kb7;style,single;screen,ScreenSelectPlayModeDouble"
# techno
ChoiceTechnoSingle4="name,TechnoSingle4;style,single4;screen,ScreenSelectPlayMode"
ChoiceTechnoSingle5="name,TechnoSingle5;style,single5;screen,ScreenSelectPlayMode"
ChoiceTechnoSingle8="name,TechnoSingle8;style,single8;screen,ScreenSelectPlayMode"
ChoiceTechnoVersus4="name,TechnoVersus4;style,versus4;screen,ScreenSelectPlayMode"
ChoiceTechnoVersus5="name,TechnoVersus5;style,versus5;screen,ScreenSelectPlayMode"
ChoiceTechnoVersus8="name,TechnoVersus8;style,versus8;screen,ScreenSelectPlayMode"
ChoiceTechnoDouble4="name,TechnoDouble4;style,double4;screen,ScreenSelectPlayModeDouble"
ChoiceTechnoDouble5="name,TechnoDouble5;style,double5;screen,ScreenSelectPlayModeDouble"
ChoiceTechnoDouble8="name,TechnoDouble8;style,double8;screen,ScreenSelectPlayModeDouble"
# lights
ChoiceCabinet="name,Cabinet;style,cabinet;Screen,ScreenSelectPlayModeDouble"
# kickbox
ChoiceHuman="name,Human;style,human;screen,ScreenSelectPlayMode"
ChoiceQuadarm="name,Quadarm;style,quadarm;screen,ScreenSelectPlayMode"
ChoiceInsect="name,Insect;style,insect;Screen,ScreenSelectPlayModeDouble"
ChoiceArachnid="name,Arachnid;style,arachnid;Screen,ScreenSelectPlayModeDouble"
ChoiceHversus="name,Hversus;style,hversus;screen,ScreenSelectPlayMode"
ChoiceQversus="name,Qversus;style,qversus;screen,ScreenSelectPlayMode"
ChoiceIversus="name,Iversus;style,iversus;Screen,ScreenSelectPlayModeDouble"
ChoiceAversus="name,Aversus;style,aversus;Screen,ScreenSelectPlayModeDouble"
#
UpdateOnMessage=""
#
PerChoiceScrollElement=true
PerChoiceIconElement=false
#
ShowScroller=true
WrapScroller=true
LoopScroller=true
WrapCursor=true
ShowIcon=false
UseIconMetrics=false
#
ScrollerSecondsPerItem=0.25
ScrollerX=SCREEN_CENTER_X
ScrollerY=SCREEN_CENTER_Y
ScrollerOnCommand=zbuffer,true;fov,85;draworder,0;
ScrollerOffCommand=
ScrollerTransform=function(self,ofs,i,n) \
	local t=ofs*math.pi*2/n; \
	self:x(math.sin(t)*650); \
	self:y(math.cos(t)*200-100); \
	self:z(math.cos(t)*400-800); \
end
#
IconGainFocusCommand=stoptweening;bounceend,0.125;diffusealpha,1;zoomy,1;draworder,101
IconLoseFocusCommand=stoptweening;decelerate,0.125;diffusealpha,0;zoomy,0;draworder,101
#
InfoGainFocusCommand=stoptweening;zoomy,0;linear,0.05;zoomy,1;draworder,101
InfoLoseFocusCommand=stoptweening;zoomy,1;linear,0.05;zoomy,0;draworder,101
SmallInfoGainFocusCommand=stoptweening;linear,0.25;diffuse,1,1,1,1;bob;effectperiod,0.533;effectmagnitude,0,3,0
SmallInfoLoseFocusCommand=stopeffect;stoptweening;linear,0.25;diffuse,0.5,0.5,0.5,1;

[ScreenSelectPlayMode]
PersistScreens="ScreenSelectPlayMode,ScreenSelectDifficultyNormal,ScreenSelectDifficultyRave,ScreenSelectMusic"
#
ScreenOutDelay=1.5
#
DefaultChoice="Easy"
# ChoiceNames="Normal,Extended"
#
PerChoiceIconElement=false
#
ShowScroller=true
WrapScroller=true
ScrollerX=SCREEN_CENTER_X
ScrollerY=SCREEN_CENTER_Y-60
ScrollerOnCommand=SetFastCatchup,true;
ScrollerOffCommand=decelerate,0.35;y,SCREEN_CENTER_Y;sleep,1.15;linear,0.1;zoomy,0
#
ShowBackgroundFrame=false
BackgroundFrameX=SCREEN_CENTER_X
BackgroundFrameY=SCREEN_CENTER_Y-60
BackgroundFrameOnCommand=diffuse,Color("Black");diffusealpha,0.7
BackgroundFrameOffCommand=decelerate,0.8;y,SCREEN_CENTER_Y;sleep,1.5;linear,0.1;zoomy,0
#
ShowIcon=true
UseIconMetrics=true
#
IconGainFocusCommand=stoptweening;glowshift;decelerate,0.125;zoom,1;
IconLoseFocusCommand=stoptweening;stopeffect;decelerate,0.125;zoom,0.6;
# IconMinZoom=0.5
# IconBaseZoom=0.6
#
IconChoiceEasyX=SCREEN_CENTER_X-(240*(5/6))
IconChoiceEasyY=SCREEN_BOTTOM-88-64
IconChoiceEasyOnCommand=zoom,0;bounceend,0.35;zoom,0.8
IconChoiceEasyOffCommand=linear,0.1175;zoomx,0
#
IconChoiceNormalX=SCREEN_CENTER_X-80
IconChoiceNormalY=SCREEN_BOTTOM-88-64
IconChoiceNormalOnCommand=zoom,0;bounceend,0.35;zoom,0.8
IconChoiceNormalOffCommand=linear,0.1175;zoomx,0
#
IconChoiceHardX=SCREEN_CENTER_X+(80*(5/6))
IconChoiceHardY=SCREEN_BOTTOM-88-64
IconChoiceHardOnCommand=zoom,0;bounceend,0.35;zoom,0.8
IconChoiceHardOffCommand=linear,0.1175;zoomx,0
#
IconChoiceRaveX=SCREEN_CENTER_X+80
IconChoiceRaveY=SCREEN_BOTTOM-88-64
IconChoiceRaveOnCommand=zoom,0;bounceend,0.35;zoom,0.8
IconChoiceRaveOffCommand=linear,0.1175;zoomx,0
#
IconChoiceNonstopX=SCREEN_CENTER_X-160
IconChoiceNonstopY=SCREEN_BOTTOM-88
IconChoiceNonstopOnCommand=zoom,0;bounceend,0.35;zoom,0.8
IconChoiceNonstopOffCommand=linear,0.1175;zoomx,0
#
IconChoiceOniX=SCREEN_CENTER_X
IconChoiceOniY=SCREEN_BOTTOM-88
IconChoiceOniOnCommand=zoom,0;bounceend,0.35;zoom,0.8
IconChoiceOniOffCommand=linear,0.1175;zoomx,0
#
IconChoiceEndlessX=SCREEN_CENTER_X+160
IconChoiceEndlessY=SCREEN_BOTTOM-88
IconChoiceEndlessOnCommand=zoom,0;bounceend,0.35;zoom,0.8
IconChoiceEndlessOffCommand=linear,0.1175;zoomx,0

ChoiceNormal="applydefaultoptions;name,Normal;text,Normal;screen,ScreenSelectDifficultyNormal"
ChoiceRave="applydefaultoptions;name,Rave;screen,ScreenSelectDifficultyRave;text,"..Screen.String("Rave")
ChoiceNonstop="applydefaultoptions;name,Nonstop;playmode,nonstop;screen,ScreenSelectCourse;setenv,sMode,Nonstop;text,"..Screen.String("Extended")
ChoiceEndless="applydefaultoptions;name,Endless;playmode,endless;screen,ScreenSelectCourse;setenv,sMode,Endless;text,"..Screen.String("Endless")

[ScreenSelectPlayModeDouble]
Fallback="ScreenSelectPlayMode"
ChoiceNames="Normal,Nonstop,Oni,Endless"
IconChoiceNormalX=SCREEN_CENTER_X

[ScreenSelectDifficultyNormal]
Fallback="ScreenSelectPlayMode"
PersistScreens="ScreenSelectPlayMode,ScreenSelectDifficultyNormal,ScreenSelectMusic"
#
ScreenOutDelay=1.5
#
ChoiceNames="Beginner,Basic,Standard,Maniac,Challenge,Ultimate"
DefaultChoice="Basic"
PerChoiceIconElement=false
#
ShowScroller=true
WrapScroller=true
ScrollerX=SCREEN_CENTER_X
ScrollerY=SCREEN_CENTER_Y-60
ScrollerOnCommand=SetFastCatchup,true;
ScrollerOffCommand=decelerate,0.35;y,SCREEN_CENTER_Y;sleep,1.15;linear,0.1;zoomy,0
#
ShowBackgroundFrame=false
BackgroundFrameX=SCREEN_CENTER_X
BackgroundFrameY=SCREEN_CENTER_Y-60
BackgroundFrameOnCommand=diffuse,Color("Black");diffusealpha,0.7
BackgroundFrameOffCommand=decelerate,0.8;y,SCREEN_CENTER_Y;sleep,1.5;linear,0.1;zoomy,0
#
ShowIcon=true
UseIconMetrics=true
#
IconGainFocusCommand=stoptweening;glowshift;decelerate,0.125;zoom,1;
IconLoseFocusCommand=stoptweening;stopeffect;decelerate,0.125;zoom,0.6;
# IconMinZoom=0.5
# IconBaseZoom=0.6
#
IconChoiceBeginnerX=SCREEN_CENTER_X-240
IconChoiceBeginnerY=SCREEN_BOTTOM-88-64
IconChoiceBeginnerOnCommand=zoom,0;bounceend,0.35;zoom,0.8
IconChoiceBeginnerOffCommand=linear,0.1175;zoomx,0
#
IconChoiceBasicX=SCREEN_CENTER_X-80
IconChoiceBasicY=SCREEN_BOTTOM-88-64
IconChoiceBasicOnCommand=zoom,0;bounceend,0.35;zoom,0.8
IconChoiceBasicOffCommand=linear,0.1175;zoomx,0
#
IconChoiceStandardX=SCREEN_CENTER_X+80
IconChoiceStandardY=SCREEN_BOTTOM-88-64
IconChoiceStandardOnCommand=zoom,0;bounceend,0.35;zoom,0.8
IconChoiceStandardOffCommand=linear,0.1175;zoomx,0
#
IconChoiceManiacX=SCREEN_CENTER_X+240
IconChoiceManiacY=SCREEN_BOTTOM-88-64
IconChoiceManiacOnCommand=zoom,0;bounceend,0.35;zoom,0.8
IconChoiceManiacOffCommand=linear,0.1175;zoomx,0
#
IconChoiceChallengeX=SCREEN_CENTER_X-80
IconChoiceChallengeY=SCREEN_BOTTOM-88
IconChoiceChallengeOnCommand=zoom,0;bounceend,0.35;zoom,0.8
IconChoiceChallengeOffCommand=linear,0.1175;zoomx,0
#
IconChoiceUltimateX=SCREEN_CENTER_X+80
IconChoiceUltimateY=SCREEN_BOTTOM-88
IconChoiceUltimateOnCommand=zoom,0;bounceend,0.35;zoom,0.8
IconChoiceUltimateOffCommand=linear,0.1175;zoomx,0
#
ChoiceBeginner="applydefaultoptions;name,Beginner;playmode,regular;difficulty,beginner;screen,ScreenSelectMusic;setenv,sMode,Normal;text,"..Screen.String("Beginner")
ChoiceBasic="applydefaultoptions;name,Basic;playmode,regular;difficulty,easy;screen,ScreenSelectMusic;setenv,sMode,Normal;text,"..Screen.String("Basic")
ChoiceStandard="applydefaultoptions;name,Standard;playmode,regular;difficulty,medium;screen,ScreenSelectMusic;setenv,sMode,Normal;text,"..Screen.String("Standard")
ChoiceManiac="applydefaultoptions;name,Maniac;playmode,regular;difficulty,hard;screen,ScreenSelectMusic;setenv,sMode,Normal;text,"..Screen.String("Maniac")
ChoiceChallenge="applydefaultoptions;name,Challenge;playmode,regular;difficulty,challenge;screen,ScreenSelectMusic;setenv,sMode,Normal;text,"..Screen.String("Challenge")
ChoiceUltimate="applydefaultoptions;name,Ultimate;playmode,regular;difficulty,edit;screen,ScreenSelectMusic;setenv,sMode,Normal;text,"..Screen.String("Ultimate")

[ScreenSelectDifficultyRave]
Fallback="ScreenSelectPlayMode"
PersistScreens="ScreenSelectPlayMode,ScreenSelectDifficultyRave,ScreenSelectMusic"
#
ScreenOutDelay=1.5
#
ChoiceNames="Beginner,Basic,Standard,Maniac,Challenge,Ultimate"
DefaultChoice="Basic"
PerChoiceIconElement=false
#
ShowScroller=true
WrapScroller=true
ScrollerX=SCREEN_CENTER_X
ScrollerY=SCREEN_CENTER_Y-60
ScrollerOnCommand=SetFastCatchup,true;
ScrollerOffCommand=decelerate,0.35;y,SCREEN_CENTER_Y;sleep,1.15;linear,0.1;zoomy,0
#
ShowBackgroundFrame=false
BackgroundFrameX=SCREEN_CENTER_X
BackgroundFrameY=SCREEN_CENTER_Y-60
BackgroundFrameOnCommand=diffuse,Color("Black");diffusealpha,0.7
BackgroundFrameOffCommand=decelerate,0.8;y,SCREEN_CENTER_Y;sleep,1.5;linear,0.1;zoomy,0
#
ShowIcon=true
UseIconMetrics=true
#
IconGainFocusCommand=stoptweening;glowshift;decelerate,0.125;zoom,1;
IconLoseFocusCommand=stoptweening;stopeffect;decelerate,0.125;zoom,0.6;
# IconMinZoom=0.5
# IconBaseZoom=0.6
#
IconChoiceBeginnerX=SCREEN_CENTER_X-240
IconChoiceBeginnerY=SCREEN_BOTTOM-88-64
IconChoiceBeginnerOnCommand=zoom,0;bounceend,0.35;zoom,0.8
IconChoiceBeginnerOffCommand=linear,0.1175;zoomx,0
#
IconChoiceBasicX=SCREEN_CENTER_X-80
IconChoiceBasicY=SCREEN_BOTTOM-88-64
IconChoiceBasicOnCommand=zoom,0;bounceend,0.35;zoom,0.8
IconChoiceBasicOffCommand=linear,0.1175;zoomx,0
#
IconChoiceStandardX=SCREEN_CENTER_X+80
IconChoiceStandardY=SCREEN_BOTTOM-88-64
IconChoiceStandardOnCommand=zoom,0;bounceend,0.35;zoom,0.8
IconChoiceStandardOffCommand=linear,0.1175;zoomx,0
#
IconChoiceManiacX=SCREEN_CENTER_X+240
IconChoiceManiacY=SCREEN_BOTTOM-88-64
IconChoiceManiacOnCommand=zoom,0;bounceend,0.35;zoom,0.8
IconChoiceManiacOffCommand=linear,0.1175;zoomx,0
#
IconChoiceChallengeX=SCREEN_CENTER_X-80
IconChoiceChallengeY=SCREEN_BOTTOM-88
IconChoiceChallengeOnCommand=zoom,0;bounceend,0.35;zoom,0.8
IconChoiceChallengeOffCommand=linear,0.1175;zoomx,0
#
IconChoiceUltimateX=SCREEN_CENTER_X+80
IconChoiceUltimateY=SCREEN_BOTTOM-88
IconChoiceUltimateOnCommand=zoom,0;bounceend,0.35;zoom,0.8
IconChoiceUltimateOffCommand=linear,0.1175;zoomx,0
#
ChoiceBeginner="applydefaultoptions;name,Beginner;playmode,rave;difficulty,beginner;screen,ScreenSelectMusic;setenv,sMode,Normal;text,"..Screen.String("Beginner")
ChoiceBasic="applydefaultoptions;name,Basic;playmode,rave;difficulty,easy;screen,ScreenSelectMusic;setenv,sMode,Normal;text,"..Screen.String("Basic")
ChoiceStandard="applydefaultoptions;name,Standard;playmode,rave;difficulty,medium;screen,ScreenSelectMusic;setenv,sMode,Normal;text,"..Screen.String("Standard")
ChoiceManiac="applydefaultoptions;name,Maniac;playmode,rave;difficulty,hard;screen,ScreenSelectMusic;setenv,sMode,Normal;text,"..Screen.String("Maniac")
ChoiceChallenge="applydefaultoptions;name,Challenge;playmode,rave;difficulty,challenge;screen,ScreenSelectMusic;setenv,sMode,Normal;text,"..Screen.String("Challenge")
ChoiceUltimate="applydefaultoptions;name,Ultimate;playmode,rave;difficulty,edit;screen,ScreenSelectMusic;setenv,sMode,Normal;text,"..Screen.String("Ultimate")

[ScreenSelectCharacter]

[ScreenGameInformation]

[ScreenSelectMusic]
UsePlayerSelectMenu=false
# OptionsMenuAvailable=(getenv(sMode) ~= Oni)
SelectMenuAvailable=true
# ModeMenuAvailable=(getenv(sMode) == Normal)
# HelpDisplay has things added here to make sure it disappears for another 
# actor, which we defined in this screens decorations.
HelpSelectMenuOpenedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675;accelerate,0.125;diffusealpha,0;zoom,0.675*0.75;
HelpSelectMenuClosedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675*0.75;bouncebegin,0.125;diffusealpha,1;zoom,0.675
# Clone everything from HelpDisplay: we're lazy
ShowAlternateHelpDisplay=false
# AlternateHelpDisplaySelectMenuOpenedMessageCommand=stoptweening;y,SCREEN_BOTTOM-16;accelerate,0.0725/2;y,SCREEN_BOTTOM-16-16;diffusealpha,1;decelerate,0.0725/2;y,SCREEN_BOTTOM-16-32;
# AlternateHelpDisplaySelectMenuClosedMessageCommand=stoptweening;y,SCREEN_BOTTOM-16;smooth,0.125;y,SCREEN_BOTTOM-16;diffusealpha,0;
AlternateHelpDisplaySelectMenuOpenedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675*1.25;bounceend,0.2;diffusealpha,1;zoom,0.675;
AlternateHelpDisplaySelectMenuClosedMessageCommand=stoptweening;maxwidth,480/0.675;zoom,0.675;accelerate,0.125;diffusealpha,0;zoom,0.675*0.75;
#
MusicWheelX=SCREEN_CENTER_X+265
MusicWheelY=SCREEN_CENTER_Y
MusicWheelOnCommand=draworder,-5;fov,90;vanishpoint,SCREEN_CENTER_X+160,SCREEN_CENTER_Y;addx,SCREEN_CENTER_X;decelerate,0.1;addx,-SCREEN_CENTER_X
MusicWheelOffCommand=bouncebegin,0.15;zoomx,0;
#
ShowNewSong=not GAMESTATE:IsCourseMode()
NewSongX=SCREEN_CENTER_X-280+128-24
NewSongY=SCREEN_TOP+160-32
NewSongOnCommand=finishtweening;diffuse,Color("Orange");diffusetopedge,Color("Yellow");strokecolor,Color("Black");zoom,0.675;draworder,106;playcommand,"Set"
NewSongOffCommand=bouncebegin,0.1;zoom,0;diffusealpha,0
NewSongShowCommand=finishtweening;diffusealpha,1;glowshift;effectclock,'bgm';effectperiod,4;textglowmode,'TextGlowMode_Inner';
NewSongHideCommand=finishtweening;;diffusealpha,0;stopeffect;
#
ShowSongTime=true
SongTimeX=SCREEN_CENTER_X-219
SongTimeY=SCREEN_TOP+160-12+8
SongTimeOnCommand=zoom,0.75;strokecolor,Color("Outline");shadowlength,2
SongTimeOffCommand=bouncebegin,0.15;zoom,0;diffusealpha,0;
SongTimeResetCommand=diffuse,Color("White");
SongTimeAutogenCommand=diffuse,Color("Green");
SongTimeLongCommand=diffuse,Color("Yellow");diffusebottomedge,Color("Orange");
SongTimeMarathonCommand=diffuse,Color("Orange");diffusebottomedge,Color("Red");
#
ShowSortOrderFrame=false
SortOrderFrameX=SCREEN_CENTER_X+248+32
SortOrderFrameY=SCREEN_TOP+24
SortOrderFrameOnCommand=draworder,105;shadowlength,1
SortOrderFrameSortCommand=
SortOrderFrameSongChosenCommand=linear,0.1;diffusealpha,0;
SortOrderFrameOffCommand=bouncebegin,0.05;zoomy,0;
#
ShowSortOrder=true
SortOrderX=SCREEN_CENTER_X-200
SortOrderY=SCREEN_TOP+180
SortOrderOnCommand=draworder,105;horizalign,right;strokecolor,Color("Outline");zoom,0.675;maxwidth,96/0.675;shadowlength,2
SortOrderSortCommand=finishtweening;zoom,0.675*1.25;diffuse,Color("Yellow");diffusebottomedge,Color("Orange");decelerate,0.5;zoom,0.675;diffuse,Color("White");
SortOrderSongChosenCommand=linear,0.25;diffusealpha,0;
SortOrderOffCommand=bouncebegin,0.05;zoomy,0;
#
ShowStageDisplay=true
StageDisplayX=SCREEN_RIGHT-160
StageDisplayY=SCREEN_TOP+24+3
StageDisplayOnCommand=skewx,-0.125;draworder,105;fov,90;zoom,0.75
StageDisplayOffCommand=linear,0.05;zoomy,0;
#
ShowDifficultyDisplay=false
DifficultyDisplayX=SCREEN_CENTER_X-280
DifficultyDisplayY=SCREEN_TOP+160-96+2
DifficultyDisplayOnCommand=draworder,105;fov,90;zoom,1;zoomy,0;sleep,0.2;smooth,0.1;zoomy,1
DifficultyDisplayOffCommand=linear,0.05;zoomy,0;
#
BannerX=SCREEN_CENTER_X-279
BannerY=SCREEN_TOP+160-66+4
BannerOnCommand=draworder,-1;scaletoclipped,256,80;visible,true;ztest,1;addy,-SCREEN_CENTER_Y;decelerate,0.1;addy,SCREEN_CENTER_Y
BannerOffCommand=bouncebegin,0.15;zoomx,0;
#
ShowBannerFrame=true
BannerFrameX=SCREEN_CENTER_X-279
BannerFrameY=SCREEN_TOP+160-66+4
BannerFrameOnCommand=draworder,105;addy,-SCREEN_CENTER_Y;decelerate,0.1;addy,SCREEN_CENTER_Y;shadowlength,2
BannerFrameOffCommand=bouncebegin,0.15;zoomx,0;
#
ShowBPMDisplay=true
BPMDisplayX=SCREEN_CENTER_X-230-90+2
BPMDisplayY=SCREEN_TOP+160-12+8
BPMDisplayOnCommand=finishtweening;maxwidth,128;horizalign,left;strokecolor,Color.Outline;addx,320;zoomx,0;decelerate,0.1;addx,-320;zoomx,1;shadowlength,2
BPMDisplayOffCommand=bouncebegin,0.05;zoomx,0;
#
ShowBPMLabel=true
BPMLabelX=SCREEN_CENTER_X-230-92
BPMLabelY=SCREEN_TOP+160-12+8
BPMLabelOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.1;addx,SCREEN_CENTER_X;shadowlength,2
BPMLabelOffCommand=bouncebegin,0.05;zoomx,0;
#
ShowSegmentDisplay=not GAMESTATE:IsCourseMode()
SegmentDisplayX=SCREEN_CENTER_X-280
SegmentDisplayY=SCREEN_TOP+160-36+4
SegmentDisplayOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.1;addx,SCREEN_CENTER_X
SegmentDisplayOffCommand=bouncebegin,0.05;zoomx,0;
#
ShowDifficultyList=not GAMESTATE:IsCourseMode();
DifficultyListX=SCREEN_CENTER_X-280
DifficultyListY=SCREEN_TOP+216
DifficultyListOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.1;addx,SCREEN_CENTER_X;
DifficultyListStartSelectingStepsMessageCommand=finishtweening;accelerate,0.2;zoom,1.1;decelerate,0.2;zoom,1;
DifficultyListOffCommand=bouncebegin,0.05;zoomx,0;
#
DifficultyListTweenOnCommand=stoptweening;bounceend,0.1;zoomx,1
DifficultyListTweenOffCommand=stoptweening;bouncebegin,0.1;zoomx,0
# Shrink the difficultylist for viewing panedisplays;
# DifficultyListSelectMenuOpenedMessageCommand=stoptweening;decelerate,0.1;zoom,0.5;
# DifficultyListSelectMenuClosedMessageCommand=stoptweening;accelerate,0.05;zoom,1;
#
ShowPaneDisplayFrameP1=true
PaneDisplayFrameP1X=SCREEN_CENTER_X-280
PaneDisplayFrameP1Y=SCREEN_BOTTOM-112-2
PaneDisplayFrameP1OnCommand=player,PLAYER_1;diffuse,Color("Orange");zoomy,0;sleep,0.1;decelerate,0.1;zoomy,1
PaneDisplayFrameP1OffCommand=bouncebegin,0.05;zoomx,0;
PaneDisplayFrameP1PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_1 then self:playcommand("On") end end
#
ShowPaneDisplayTextP1=true
PaneDisplayTextP1X=SCREEN_CENTER_X-280
PaneDisplayTextP1Y=SCREEN_BOTTOM-122-2
PaneDisplayTextP1OnCommand=player,PLAYER_1;zoomy,0;sleep,0.1;decelerate,0.1;zoomy,1
PaneDisplayTextP1OffCommand=bouncebegin,0.05;zoomx,0;
PaneDisplayTextP1PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_1 then self:playcommand("On") end end
#
ShowPaneDisplayFrameP2=true
PaneDisplayFrameP2X=SCREEN_CENTER_X-30
PaneDisplayFrameP2Y=SCREEN_BOTTOM-112-2
PaneDisplayFrameP2OnCommand=player,PLAYER_2;diffuse,Color("Orange");zoomy,0;sleep,0.1;decelerate,0.1;zoomy,1
PaneDisplayFrameP2OffCommand=bouncebegin,0.05;zoomx,0;
PaneDisplayFrameP2PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_2 then self:playcommand("On") end end
#
ShowPaneDisplayTextP2=true
PaneDisplayTextP2X=SCREEN_CENTER_X-30
PaneDisplayTextP2Y=SCREEN_BOTTOM-122-2
PaneDisplayTextP2OnCommand=player,PLAYER_2;zoomy,0;sleep,0.1;decelerate,0.1;zoomy,1
PaneDisplayTextP2OffCommand=bouncebegin,0.05;zoomx,0;
PaneDisplayTextP2PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_2 then self:playcommand("On") end end
#
ShowCourseContentsList=false
CourseContentsListX=SCREEN_CENTER_X-280
CourseContentsListY=SCREEN_TOP+216+6
CourseContentsListOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.1;addx,SCREEN_CENTER_X
CourseContentsListOffCommand=bouncebegin,0.05;zoomx,0;
#
ShowNumCourseSongs=GAMESTATE:IsCourseMode()
NumCourseSongsX=SCREEN_CENTER_X-280+128
NumCourseSongsY=SCREEN_TOP+160+(36/2)+8
NumCourseSongsOnCommand=zoom,0.75;strokecolor,Color("Outline");shadowlength,1
NumCourseSongsOffCommand=bouncebegin,0.05;zoom,0;diffusealpha,0;
#
ShowSongOptions=true
SongOptionsX=SCREEN_CENTER_X
SongOptionsY=SCREEN_CENTER_Y
SongOptionsOnCommand=visible,false;draworder,1000
SongOptionsOffCommand=
#--
SongOptionsShowCommand=visible,true;uppercase,true;zoom,1.2;settext,THEME:GetString("ScreenSelectMusic","Press Start For Options");decelerate,0.2;zoom,1;
SongOptionsEnterCommand=uppercase,true;settext,THEME:GetString("ScreenSelectMusic","Entering Options");sleep,0.2;linear,0.2;zoomy,0;
SongOptionsHideCommand=linear,0.1;zoomy,0;
#
ShowSongOptionsFrame=true
SongOptionsFrameX=SCREEN_CENTER_X
SongOptionsFrameY=SCREEN_CENTER_Y
SongOptionsFrameOnCommand=visible,false;draworder,1000
SongOptionsFrameOffCommand=
#--
SongOptionsFrameShowCommand=visible,true;diffuse,Color(ThemePrefs.Get("ThemeColor"));diffusealpha,0.5;zoomy,40*1.5;linear,1.5;zoomy,40;
SongOptionsFrameEnterCommand=sleep,0.5;linear,0.3;diffusealpha,0;
SongOptionsFrameHideCommand=linear,0.3;diffusealpha,0
#
CDTitleX=SCREEN_CENTER_X-280+90
CDTitleY=SCREEN_TOP+160+(36/2)+8
CDTitleFrontCommand=diffuse,color('0.5,0.5,0.5,1');cullmode,'CullMode_Front'
CDTitleBackCommand=cullmode,'CullMode_Back'
#CDTitleOnCommand=draworder,106;shadowlength,1;zoom,0.75;diffusealpha,1;zoom,0;bounceend,0.1;zoom,0.75;spin;effectmagnitude,0,180,0;
CDTitleOnCommand=visible,false
CDTitleOffCommand=bouncebegin,0.05;zoomx,0;
#
ScoreP1SortChangeCommand=stoptweening;
ScoreP2SortChangeCommand=stoptweening;
ScoreFrameP1SortChangeCommand=stoptweening;
ScoreFrameP2SortChangeCommand=stoptweening;
#
ShowStepsDisplayP1=GAMESTATE:IsHumanPlayer(PLAYER_1)
StepsDisplayP1X=SCREEN_CENTER_X-280
StepsDisplayP1Y=SCREEN_BOTTOM-60
StepsDisplayP1OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP1");addy,SCREEN_CENTER_Y;decelerate,0.1;addy,-SCREEN_CENTER_Y
StepsDisplayP1OffCommand=bouncebegin,0.05;zoomx,0;
# StepsDisplayP1CurrentStepsP1ChangedMessageCommand=stoptweening;zoom,1.2;decelerate,0.05;zoom,1
#
ShowStepsDisplayP2=GAMESTATE:IsHumanPlayer(PLAYER_2)
StepsDisplayP2X=SCREEN_CENTER_X-30
StepsDisplayP2Y=SCREEN_BOTTOM-60
StepsDisplayP2OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP2");addy,SCREEN_CENTER_Y;decelerate,0.1;addy,-SCREEN_CENTER_Y
StepsDisplayP2OffCommand=bouncebegin,0.05;zoomx,0;
# StepsDisplayP2CurrentStepsP2ChangedMessageCommand=stoptweening;zoom,1.2;decelerate,0.05;zoom,1
#
ShowPercentScoreP1=true
PercentScoreP1X=SCREEN_CENTER_X-200-1
PercentScoreP1Y=SCREEN_BOTTOM-60
PercentScoreP1OnCommand=player,PLAYER_1;addy,SCREEN_CENTER_Y;decelerate,0.1;addy,-SCREEN_CENTER_Y
PercentScoreP1OffCommand=bouncebegin,0.05;zoomx,0;
#
ShowPercentScoreP2=true
PercentScoreP2X=SCREEN_CENTER_X+50-1
PercentScoreP2Y=SCREEN_BOTTOM-60
PercentScoreP2OnCommand=player,PLAYER_2;addy,SCREEN_CENTER_Y;decelerate,0.1;addy,-SCREEN_CENTER_Y
PercentScoreP2OffCommand=bouncebegin,0.05;zoomx,0;
#
ShowGrooveRadar=not GAMESTATE:IsCourseMode();
GrooveRadarX=SCREEN_CENTER_X-40
GrooveRadarY=SCREEN_CENTER_Y-30
GrooveRadarOnCommand=draworder,200;zoomy,0;addx,-400;sleep,0.264;linear,0.2;zoomy,0.3;addx,400;linear,0.2;zoomy,1;shadowlength,2
GrooveRadarOffCommand=sleep,0.033;accelerate,0.33;addx,-400;shadowlength,2

[ScreenSelectCourse]
MusicWheelType=GAMESTATE:GetPlayMode() == 'PlayMode_Oni' and "OniWheel" or "CourseWheel"
Codes=GAMESTATE:GetPlayMode() == 'PlayMode_Oni' and "OniCodeDetector" or "CourseCodeDetector"
#
ShowDifficultyList=false
ShowCourseContentsList=true
ShowNumCourseSongs=true
#
UsePlayerSelectMenu=false
SelectMenuAvailable=false
#
ShowSortOrder=true
SortOrderOnCommand=visible,false
#
ShowPaneDisplayFrameP1=false
ShowPaneDisplayTextP1=false
ShowPaneDisplayFrameP2=false
ShowPaneDisplayTextP2=false

[CourseCodeDetector]
NextSort1=""
NextSort2=""
NextSort3=""
NextSort4=""
ModeMenu1=""
ModeMenu2=""

[OniCodeDetector]
Fallback="CodeDetector"

[StepsDisplay]
FrameLoadCommand=%function(self,param) end;
NumTicks=10
MaxTicks=14
TicksX=0
TicksY=0
TicksOnCommand=shadowlength,0;
TicksSetCommand=%function(self,param) end;
MeterX=56-32
MeterY=0
MeterOnCommand=shadowlength,1;textglowmode,'TextGlowMode_Inner'
MeterSetCommand=%function(self,param) \
	if param.CustomDifficulty and param.CustomDifficulty ~= "" then \
		self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \
		self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \
	end; \
	if param.Meter then \
		if param.Meter >= 100 then \
			self:basezoom(0.8); \
			self:glowshift(); \
		elseif param.Meter >= 10 then \
			self:basezoom(1); \
			self:glowshift(); \
		else \
			self:basezoom(1); \
			self:stopeffect(); \
		end; \
	end; \
end;
#
ShowDescription=true
DescriptionX=-20-32
DescriptionY=ThemePrefs.Get("AutoSetStyle") and -5 or 0
DescriptionOnCommand=shadowlength,1;uppercase,true;zoom,0.75;maxwidth,128+8
DescriptionSetCommand=%function(self,param) \
	if self:GetText() == "" then \
		self:settext("Ultimate"); \
	end; \
	if param.CustomDifficulty and param.CustomDifficulty ~= "" then \
		self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \
		self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \
	end; \
end;
#
ShowAutogen=true
AutogenX=-132
AutogenY=0
AutogenOnCommand=
AutogenSetCommand=finishtweening
AutogenTweenOnCommand=finishtweening;decelerate,0.25;zoom,1
AutogenTweenOffCommand=finishtweening;bounceend,0.2;zoomx,8;zoomy,0
#
ShowStepsType=ThemePrefs.Get("AutoSetStyle")
StepsTypeX=-20-32
StepsTypeY=7
StepsTypeOnCommand=zoom,0.45

[StepsDisplayGameplay]
Fallback="StepsDisplay"

#
ShowMeter=true
ZeroMeterString="?"
MeterX=56
MeterY=0
MeterOnCommand=shadowlength,1;textglowmode,'TextGlowMode_Inner'
MeterSetCommand=%function(self,param) \
	if param.CustomDifficulty then \
		self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \
		self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \
	end; \
	if param.Meter then \
		if param.Meter >= 100 then \
			self:zoom(0.8); \
		else \
			self:zoom(1); \
		end; \
	end; \
end;
#
ShowDescription=true
DescriptionX=-20
DescriptionY=ThemePrefs.Get("AutoSetStyle") and -5 or 0
DescriptionOnCommand=shadowlength,1;uppercase,true;zoom,0.75;maxwidth,128+8
DescriptionSetCommand=%function(self,param) \
	if self:GetText() == "" then \
		self:settext("Ultimate"); \
	end; \
	if param.CustomDifficulty then \
		self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \
		self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \
	end; \
	(cmd(finishtweening;diffusealpha,0;addx,-4;smooth,0.125;addx,4;diffusealpha,1))(self); \
end;
#
ShowAutogen=false
AutogenX=40
AutogenY=0
AutogenOnCommand=
AutogenSetCommand=%function(self,param) if param.Difficulty then self:diffuse(CustomDifficultyToLightColor(param.Difficulty)); self:strokecolor(CustomDifficultyToDarkColor(param.Difficulty)); end end
#
ShowStepsType=ThemePrefs.Get("AutoSetStyle")
StepsTypeX=-20
StepsTypeY=7
StepsTypeOnCommand=zoom,0.45

[ScreenOptions]
CursorTweenSeconds=0.05

DisqualifyP1X=SCREEN_CENTER_X-176
DisqualifyP1Y=SCREEN_BOTTOM-98
DisqualifyP1OnCommand=draworder,100;zoom,0.5;shadowlength,1;player,PLAYER_1
DisqualifyP2X=SCREEN_CENTER_X+176
DisqualifyP2Y=SCREEN_BOTTOM-98
DisqualifyP2OnCommand=draworder,100;zoom,0.5;shadowlength,1;player,PLAYER_2

ContainerOnCommand=x,-SCREEN_WIDTH;decelerate,0.35;x,SCREEN_LEFT
CursorOnCommand=

LineHighlightOnCommand=cropleft,0.1;cropright,0.1;zoomx,1.25;fadeleft,0.05;faderight,0.05;diffuseshift;effectcolor2,color("1,1,1,0.5");effectcolor1,color("1,1,1,0.25");effectclock,'beat'
LineHighlightChangeCommand=linear,0.1;diffuse,Color("White");diffuseshift;effectcolor2,color("1,1,1,0.5");effectcolor1,color("1,1,1,0.25")
LineHighlightChangeToExitCommand=linear,0.1;diffuse,Color("Red");diffuseshift;effectcolor2,color("1,0,0,0.5");effectcolor1,color("1,0,0,0.25")
#
LineHighlightP1OnCommand=diffuse,PlayerColor(PLAYER_1);diffusealpha,0.65;zoomtowidth,500;fadeleft,0.45;faderight,0.45;
LineHighlightP1ChangeCommand=finishtweening;diffusealpha,0.65;
LineHighlightP1ChangeToExitCommand=finishtweening;diffusealpha,0.15;
LineHighlightP2OnCommand=diffuse,PlayerColor(PLAYER_2);diffusealpha,0.65;zoomtowidth,500;fadeleft,0.45;faderight,0.45;
LineHighlightP2ChangeCommand=finishtweening;diffusealpha,0.65;
LineHighlightP2ChangeToExitCommand=finishtweening;diffusealpha,0.15;
#
ShowScrollBar=true
ScrollBarHeight=320
ScrollBarTime=0.05
ScrollBarX=SCREEN_CENTER_X+256+44
ScrollBarY=SCREEN_CENTER_Y-24
#
ShowExplanations=true
ExplanationP1X=SCREEN_CENTER_X-256-20
ExplanationP1Y=SCREEN_CENTER_Y+174
ExplanationP1OnCommand=diffuse,PlayerColor(PLAYER_1);shadowlength,1;wrapwidthpixels,256/0.5;zoom,0.5;halign,0;cropright,1;linear,0.5;cropright,0
ExplanationP1OffCommand=
ExplanationP2X=SCREEN_CENTER_X+256+20
ExplanationP2Y=SCREEN_CENTER_Y+174
ExplanationP2OnCommand=diffuse,PlayerColor(PLAYER_2);shadowlength,1;wrapwidthpixels,256/0.5;zoom,0.5;halign,1;cropright,1;linear,0.5;cropright,0
ExplanationP2OffCommand=
ExplanationTogetherX=SCREEN_CENTER_X
ExplanationTogetherY=SCREEN_CENTER_Y+184
ExplanationTogetherOnCommand=stoptweening;shadowlength,0;zoom,0.75;wrapwidthpixels,(SCREEN_WIDTH*0.9375)*1.25;cropright,1;linear,0.5;cropright,0
ExplanationTogetherOffCommand=stoptweening

[ScreenOptionsMaster]
PlayMusic=false

[ScreenOptionsSimple]

[ScreenOptionsSimpleService]

[ScreenOptionsService]
ShowHeader=true
; This NextScreen is only used for the "exit" choice.
PrevScreen="ScreenCompany"
NextScreen="ScreenCompany"
PlayMusic=true
LineNames="Appearance,Theme,Arcade,Advanced,GraphicSound,UI,BGFit,Input,KeyConfig,TestInput,Reload,Credits"
LineTheme="gamecommand;screen,ScreenOptionsTheme;name,Theme Options"
LineTestInput="gamecommand;screen,ScreenTestInput;name,Test Input"
LineInput="gamecommand;screen,ScreenOptionsInput;name,Input Options"
# ScreenOptionsSystemDirection"
NumRowsShown=14
RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-170+24*offsetFromCenter) end
SeparateExitRow=true
SeparateExitRowY=SCREEN_BOTTOM-105

[ScreenSetBGFit]
PrevScreen="ScreenOptionsService"
NextScreen="ScreenOptionsService"

[ScreenOptionsExtended]
LineNames="2,Sync,3,10,11,4,12,5,Theme"

[ScreenOptionsServiceChild]

[ScreenOptionsServiceExtendedChild]

[ScreenMiniMenu]
HeaderY=SCREEN_TOP
HeaderOnCommand=draworder,100;visible,false
LineHighlightOnCommand=cropleft,0.1;cropright,0.1;zoomx,1.3;fadeleft,0.25;faderight,0.25;diffusealpha,0.375
LineHighlightChangeCommand=
LineHighlightChangeToExitCommand=

[OptionRowMiniMenu]
Fallback="OptionRow"
TitleX=SCREEN_CENTER_X-320+48
TitleOnCommand=horizalign,left;shadowlength,0;uppercase,true;zoom,0.6375;strokecolor,Color("Black");
ItemsLongRowP1X=SCREEN_CENTER_X-240
ItemsLongRowP2X=SCREEN_CENTER_X+240
ItemsLongRowSharedX=SCREEN_CENTER_X+200
ItemOnCommand=zoom,0.6375

ColorSelected=color("1,1,1,1")
ColorNotSelected=color("0.5,0.5,0.5,1")

[ScreenMiniMenuContext]
PageOnCommand=visible,false
LineHighlightX=SCREEN_CENTER_X/2

TitleX=SCREEN_CENTER_X
TitleOnCommand=shadowlength,1;
ItemsStartX=SCREEN_CENTER_X
ItemsEndX=SCREEN_CENTER_X
ItemsGapX=14
ItemsLongRowP1X=SCREEN_CENTER_X
ItemsLongRowP2X=SCREEN_CENTER_X
ItemsLongRowSharedX=SCREEN_CENTER_X

[OptionRowMiniMenuContext]

[ScreenMapControllers]
LinesVisible=15

[ScreenTestInput]
PrevScreen="ScreenOptionsService"
NextScreen="ScreenOptionsService"

[ScreenOptionsSystemDirection]
LineNames="1,2,3,4,5,6,7,8,9,FlashyCombo,RollCombo,10,11,12,13,14,16,LF,17,18,19,20,21,22"
LineLF="lua,ThemePrefRow('LongFail')"
LineRollCombo="lua,ThemePrefRow('ComboOnRolls')"
LineFlashyCombo="lua,ThemePrefRow('FlashyCombo')"

[ScreenOptionsGraphicsSound]

[ScreenOptionsAdvanced]
LineNames="1,3,4,8,SI,SM,11,13,14,15,16,24,28,29,30,32,RollCombo,ECPT"
Line1="conf,Game"
Line24="conf,AutoPlay"
LineRollCombo="lua,ThemePrefRow('ComboOnRolls')"

[ScreenAppearanceOptions]
PrevScreen="ScreenOptionsService"
NextScreen="ScreenOptionsService"
LineNames="1,2,3,4,5,6,14,15,SB,17,18,19"
Line1="conf,Language"
Line2="conf,Announcer"
Line3="conf,Theme"
Line4="conf,DefaultNoteSkin"
Line5="lua,OptionRowEditorNoteskin()"
Line6="conf,PercentageScoring"
Line14="conf,RandomBackgroundMode"
Line15="conf,BGBrightness"
LineSB="conf,BackgroundFitMode"
Line17="conf,ShowDancingCharacters"
Line18="conf,ShowBeginnerHelper"
Line19="conf,NumBackgrounds"

[ScreenOptionsUI]
PrevScreen="ScreenOptionsService"
NextScreen="ScreenOptionsService"

[ScreenOptionsInput]

[ScreenOptionsArcade]

[ScreenOptionsTheme]
Fallback="ScreenOptionsServiceChild"
NextScreen="ScreenOptionsService"
PrevScreen="ScreenOptionsService"
LineNames="SMTEThemeColor,SMTELifeBars,gNotePos,gScore,gSDisp,gOpts,gLongFail,gComboUnderField,FlashyCombo,GameplayFooter,FancyUIBG"
LinegNotePos="lua,ThemePrefRow('NotePosition')"
LinegScore="lua,ThemePrefRow('GameplayShowScore')"
LinegSDisp="lua,ThemePrefRow('GameplayShowStepsDisplay')"
LineTimingDisplay="lua,ThemePrefRow('TimingDisplay')"
LinegOpts="lua,ThemePrefRow('ShowLotsaOptions')"
LinegAuto="lua,ThemePrefRow('AutoSetStyle')"
LinegLongFail="lua,ThemePrefRow('LongFail')"
LinegComboUnderField="lua,ThemePrefRow('ComboUnderField')"
LineFlashyCombo="lua,ThemePrefRow('FlashyCombo')"
LineGameplayFooter="lua,ThemePrefRow('GameplayFooter')"
LineFancyUIBG="lua,ThemePrefRow('FancyUIBG')"
LineSMTEThemeColor="lua,ThemePrefRow('ThemeColor')"
LineSMTELifeBars="lua,ThemePrefRow('LifeBarCovers')"

[ScreenSelectGame]

[ScreenNetworkOptions]

[ScreenOptionsManageProfiles]

[ScreenOptionsEditProfile]

[ScreenOptionsCustomizeProfile]
ShowHeader=true
ShowFooter=true

[ScreenReloadSongs]

[ScreenPlayerOptions]
LineNames="1,8,14,2,3A,3B,4,5,6,R1,R2,7,9,10,11,12,13,SF,17,18,16"
LineSF="lua,OptionRowScreenFilter()"
Line17="lua,OptionRowProTiming()"
Line18="list,Characters"

PlayerNameplateP1X=SCREEN_CENTER_X * 0.5 + 16
PlayerNameplateP1Y=SCREEN_CENTER_Y - 176 
PlayerNameplateP1OnCommand=draworder,DrawOrder.Decorations;zoomy,0;addx,-SCREEN_CENTER_X;sleep,0.75;decelerate,0.25;addx,SCREEN_CENTER_X;zoomy,1
PlayerNameplateP1OffCommand=

PlayerNameplateP2X=SCREEN_CENTER_X * 1.5 - 16
PlayerNameplateP2Y=SCREEN_CENTER_Y - 176
PlayerNameplateP2OnCommand=draworder,DrawOrder.Decorations;zoomy,0;addx,SCREEN_CENTER_X;sleep,0.75;decelerate,0.25;addx,-SCREEN_CENTER_X;zoomy,1
PlayerNameplateP2OffCommand=

[ScreenPlayerOptionsRestricted]

[ScreenSongOptions]
LineNames="1,3,2,4,5,6,7,8,9,10"

[ScreenSplash]

[ScreenExit]

[ScreenAttract]

#
#
#
#

[ScreenHighScores]
Fallback="ScreenWithMenuElements"
ResetGameState=false
AttractVolume=true
FOV=90
NextScreen="ScreenCompany"
NumColumns=6
ColumnDifficulty1="Difficulty_Beginner"
ColumnDifficulty2="Difficulty_Easy"
ColumnDifficulty3="Difficulty_Medium"
ColumnDifficulty4="Difficulty_Hard"
ColumnDifficulty5="Difficulty_Challenge"
ColumnDifficulty6="Difficulty_Edit"
ColumnStepsType6=GAMEMAN:GetFirstStepsTypeForGame(GAMESTATE:GetCurrentGame())
ScrollerItemsToDraw=9
ScrollerOnCommand=x,SCREEN_CENTER_X-30;y,SCREEN_CENTER_Y;SetMask,624,40;draworder,-5
ScrollerItemTransformFunction=function(self,offset,itemIndex,numItems) \
	self:y(46 * offset); \
end;
HelpOnCommand=visible,false

[ScreenRanking]
#

#

#

#

#

# 05 # B

# 05 # C
[ScreenGameplay]
#
SongMeterDisplayX=SCREEN_CENTER_X
SongMeterDisplayY=SCREEN_TOP+50
SongMeterDisplayOnCommand=draworder,50;zoom,0;y,SCREEN_TOP-24;sleep,1.5;decelerate,0.5;zoom,1;y,SCREEN_TOP+50
SongMeterDisplayOffCommand=
#
ShowSongTitle=not GAMESTATE:IsDemonstration();
SongTitleX=SCREEN_CENTER_X
SongTitleY=SCREEN_TOP+56
SongTitleOnCommand=draworder,55;strokecolor,Color.Outline;shadowlength,1;basezoom,0.55;zoomy,0;sleep,1;smooth,0.5;zoom,1;
SongTitleOffCommand=
#
SongMeterDisplayP1X=SCREEN_LEFT+16
SongMeterDisplayP1Y=SCREEN_CENTER_Y
SongMeterDisplayP1OnCommand=draworder,5;rotationz,-90;zoom,0;addx,-24;sleep,1.5;decelerate,0.5;zoom,1;addx,24;hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_1
SongMeterDisplayP1OffCommand=
#
SongMeterDisplayP2X=SCREEN_RIGHT-16
SongMeterDisplayP2Y=SCREEN_CENTER_Y
SongMeterDisplayP2OnCommand=draworder,5;rotationz,-90;zoom,0;addx,24;sleep,1.5;decelerate,0.5;zoom,1;addx,-24;hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_2
SongMeterDisplayP2OffCommand=
#
ShowBPMDisplay=false
BPMDisplayX=SCREEN_CENTER_X
# BPMDisplayX=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and (GAMESTATE:GetMasterPlayerNumber() == PLAYER_1 and THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")) or SCREEN_CENTER_X
BPMDisplayY=SCREEN_BOTTOM-44
BPMDisplayOnCommand=draworder,101
BPMDisplayOffCommand=bounceend,0.25;zoom,0
#
ShowStageDisplay=true
StageDisplayX=SCREEN_CENTER_X
StageDisplayY=SCREEN_BOTTOM-48 or SCREEN_TOP+25
StageDisplayOnCommand=draworder,DrawOrder.Screen
StageDisplayOffCommand=bounceend,0.25;zoom,0
StageDisplayUseShortString=false
#
ShowScoreFrame=ThemePrefs.Get("GameplayFooter");
ScoreFrameX=SCREEN_CENTER_X
ScoreFrameY=SCREEN_BOTTOM+4
ScoreFrameOnCommand=draworder,4;vertalign,bottom;zoomtowidth,SCREEN_WIDTH+4;diffuse,color("#ffd400");addy,80;sleep,2;decelerate,0.5;addy,-80;
ScoreFrameOffCommand=
#
LifeP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX")
# LifeP1X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX")
LifeP1Y=SCREEN_TOP+28
LifeP1OnCommand=finishtweening;addy,-48;sleep,1.25;bounceend,0.35;addy,48;hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_1
#~ LifeP1OnCommand=addx,-SCREEN_CENTER_X;sleep,1.25;decelerate,0.35*0.25;addx,SCREEN_CENTER_X*1.5;accelerate,0.35*0.25;addx,-SCREEN_CENTER_X*0.25;bounceend,0.35*0.25;addx,-SCREEN_CENTER_X*0.25
LifeP1OffCommand=
LifeP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")
# LifeP2X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")
LifeP2Y=SCREEN_TOP+28
LifeP2OnCommand=finishtweening;zoomx,-1;addy,-48;sleep,1.25;bounceend,0.35;addy,48;hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_2
#~ LifeP2OnCommand=zoomx,-1;addx,SCREEN_CENTER_X;sleep,1.25;decelerate,0.35*0.25;addx,-SCREEN_CENTER_X*1.5;accelerate,0.35*0.25;addx,SCREEN_CENTER_X*0.25;bounceend,0.35*0.25;addx,SCREEN_CENTER_X*0.25
LifeP2OffCommand=
CombinedLifeX=SCREEN_CENTER_X
CombinedLifeY=SCREEN_TOP+24
CombinedLifeOnCommand=finishtweening;addy,-48;sleep,1.25;bounceend,0.35;addy,48;
CombinedLifeOffCommand=
#
ToastyDisplayP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX")
# ToastyDisplayP1X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX")
ToastyDisplayP1Y=SCREEN_CENTER_Y
ToastyDisplayP1OnCommand=visible,false
ToastyDisplayP1OffCommand=
#
ToastyDisplayP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")
# ToastyDisplayP2X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")
ToastyDisplayP2Y=SCREEN_CENTER_Y
ToastyDisplayP2OnCommand=visible,false
ToastyDisplayP2OffCommand=
#
SongNumberP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") - 60
SongNumberP1Y=SCREEN_TOP+24+7
SongNumberP1OnCommand=zoom,0.75;diffuse,PlayerColor(PLAYER_1);strokecolor,BoostColor(PlayerColor(PLAYER_1),0.5)
SongNumberP1OffCommand=
SongNumberP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") + 60
SongNumberP2Y=SCREEN_TOP+24+7
SongNumberP2OnCommand=zoom,0.75;diffuse,PlayerColor(PLAYER_2);strokecolor,BoostColor(PlayerColor(PLAYER_2),0.5)
SongNumberP2OffCommand=
#
RemainingTimeP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") + 32
RemainingTimeP1Y=THEME:GetMetric(Var "LoadingScreen","ScoreP1Y") - 20
RemainingTimeP1OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_1);diffusebottomedge,ColorMidTone(PlayerColor(PLAYER_1));
RemainingTimeP1OffCommand=
RemainingTimeP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") + 32
RemainingTimeP2Y=THEME:GetMetric(Var "LoadingScreen","ScoreP2Y") - 20
RemainingTimeP2OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_2);diffusebottomedge,ColorMidTone(PlayerColor(PLAYER_2));
RemainingTimeP2OffCommand=
#
DeltaSecondsP1X=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP1X") - 80
DeltaSecondsP1Y=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP1Y")
DeltaSecondsP1OnCommand=shadowlength,1;skewx,-0.125
DeltaSecondsP1GainSecondsCommand=finishtweening;diffusealpha,1;zoom,1;decelerate,0.3;zoom,0.75;sleep,0.5;linear,0.2;diffusealpha,0;zoom,0
DeltaSecondsP1OffCommand=
DeltaSecondsP2X=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP2X") - 80
DeltaSecondsP2Y=THEME:GetMetric(Var "LoadingScreen","RemainingTimeP2Y")
DeltaSecondsP2OnCommand=shadowlength,1;skewx,-0.125
DeltaSecondsP2GainSecondsCommand=finishtweening;diffusealpha,1;zoom,1;decelerate,0.3;zoom,0.75;sleep,0.5;linear,0.2;diffusealpha,0;zoom,0
DeltaSecondsP2OffCommand=
#
ScoreP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX")
# ScoreP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX")
ScoreP1Y=SCREEN_BOTTOM-48
ScoreP1OnCommand=draworder,101;visible,(GAMESTATE:GetCurrentCourse() == nil or GAMESTATE:GetCurrentCourse():GetCourseType() ~= "CourseType_Survival") and ThemePrefs.Get("GameplayShowScore");diffuse,PlayerColor(PLAYER_1);sleep,3+0.3;smooth,0.5;y,SCREEN_BOTTOM-48;hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_1
ScoreP1OffCommand=
ScoreP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")
# ScoreP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")
ScoreP2Y=SCREEN_BOTTOM-48
ScoreP2OnCommand=draworder,101;visible,(GAMESTATE:GetCurrentCourse() == nil or GAMESTATE:GetCurrentCourse():GetCourseType() ~= "CourseType_Survival") and ThemePrefs.Get("GameplayShowScore");diffuse,PlayerColor(PLAYER_2);sleep,3+0.3;smooth,0.5;y,SCREEN_BOTTOM-48;hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_2
ScoreP2OffCommand=
#
StepsDescriptionP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX")
# StepsDescriptionP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX")
StepsDescriptionP1Y=SCREEN_CENTER_Y+34
StepsDescriptionP1OnCommand=draworder,101;zoom,0.5;diffusealpha,0;addy,-10;smooth,0.3;diffusealpha,1;addy,10;sleep,3;smooth,0.5;addy,-10;diffusealpha,0
StepsDescriptionP1OffCommand=
StepsDescriptionP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")
# StepsDescriptionP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")
StepsDescriptionP2Y=SCREEN_CENTER_Y+34
StepsDescriptionP2OnCommand=draworder,101;zoom,0.5;diffusealpha,0;addy,-10;smooth,0.3;diffusealpha,1;addy,10;sleep,3;smooth,0.5;addy,-10;diffusealpha,0
StepsDescriptionP2OffCommand=
#
PlayerOptionsP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX")
# PlayerOptionsP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX")
PlayerOptionsP1Y=SCREEN_CENTER_Y+82
PlayerOptionsP1OnCommand=draworder,101;shadowlength,1;vertalign,top;wrapwidthpixels,256*2;zoom,0.5;diffusealpha,0;addy,10;smooth,0.3;diffusealpha,1;addy,-10;sleep,3;smooth,0.5;addy,10;diffusealpha,0
PlayerOptionsP1OffCommand=
PlayerOptionsP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")
# PlayerOptionsP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")
PlayerOptionsP2Y=SCREEN_CENTER_Y+82
PlayerOptionsP2OnCommand=draworder,101;shadowlength,1;vertalign,top;wrapwidthpixels,256*2;zoom,0.5;diffusealpha,0;addy,10;smooth,0.3;diffusealpha,1;addy,-10;sleep,3;smooth,0.5;addy,10;diffusealpha,0
PlayerOptionsP2OffCommand=
#
StepsDisplayP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX")
# StepsDisplayP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX")
StepsDisplayP1Y=SCREEN_CENTER_Y+58
StepsDisplayP1OnCommand=draworder,101;zoomy,0;linear,0.3;zoomy,1;sleep,3;queuecommand,( ThemePrefs.Get("GameplayShowStepsDisplay") == true and "Show" or "Hide" );
StepsDisplayP1ShowCommand=smooth,0.5;y,SCREEN_BOTTOM-20;
StepsDisplayP1HideCommand=linear,0.5;zoomy,0
StepsDisplayP1OffCommand=
StepsDisplayP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")
# StepsDisplayP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")
StepsDisplayP2Y=SCREEN_CENTER_Y+58
StepsDisplayP2OnCommand=draworder,101;zoomy,0;linear,0.3;zoomy,1;sleep,3;queuecommand,( ThemePrefs.Get("GameplayShowStepsDisplay") == true and "Show" or "Hide" );
StepsDisplayP2ShowCommand=smooth,0.5;y,SCREEN_BOTTOM-20;
StepsDisplayP2HideCommand=linear,0.5;zoomy,0
StepsDisplayP2OffCommand=
#
SongOptionsX=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")
# SongOptionsX=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and (GAMESTATE:GetMasterPlayerNumber() == PLAYER_1 and THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX")) or SCREEN_CENTER_X
SongOptionsY=SCREEN_BOTTOM-32
SongOptionsOnCommand=draworder,101;zoom,0.5
SongOptionsOffCommand=
#
LyricDisplaySetNoReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+130
LyricDisplaySetReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-140
# This is used if one player is in reverse and the other isn't.
LyricDisplaySetOneReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-160;
LyricDisplayDefaultColor=Color("White")
#
OniGameOverP1X=
OniGameOverP1Y=
OniGameOverP1OnCommand=
OniGameOverP1OffCommand=
#
OniGameOverP2X=
OniGameOverP2Y=
OniGameOverP2OnCommand=
OniGameOverP2OffCommand=
#
SurviveTimeX=SCREEN_CENTER_X
SurviveTimeY=SCREEN_CENTER_Y+40
SurviveTimeOnCommand=shadowlength,1;zoomx,0;bounceend,1;zoomx,1
SurviveTimeOffCommand=shadowlength,1;linear,1;zoom,0.75;diffusealpha,0
#
ActiveAttackListP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX")
ActiveAttackListP1Y=
ActiveAttackListP1OnCommand=visible,false
ActiveAttackListP1OffCommand=
ActiveAttackListP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX")
ActiveAttackListP2Y=
ActiveAttackListP2OnCommand=visible,false
ActiveAttackListP2OffCommand=
#
# Disable the normal start and select button actions to enable a custom pause
# menu
DebugOnCommand=visible,false
StartGivesUp=false
UnpauseWithStart=false
SelectSkipsSong=false
StopCourseEarly=check_stop_course_early()

PlayerP1OnePlayerOneSideX=math.floor(scale((0.65/3),0,1,SCREEN_LEFT,SCREEN_RIGHT))
PlayerP2OnePlayerOneSideX=math.floor(scale((2.35/3),0,1,SCREEN_LEFT,SCREEN_RIGHT))
PlayerP1TwoPlayersOneSideX=math.floor(scale((0.65/3),0,1,SCREEN_LEFT,SCREEN_RIGHT))
PlayerP2TwoPlayersOneSideX=math.floor(scale((2.35/3),0,1,SCREEN_LEFT,SCREEN_RIGHT))
PlayerP1TwoPlayersTwoSidesX=math.floor(scale((0.65/3),0,1,SCREEN_LEFT,SCREEN_RIGHT))
PlayerP2TwoPlayersTwoSidesX=math.floor(scale((2.35/3),0,1,SCREEN_LEFT,SCREEN_RIGHT))

ShowEvaluationOnFail=false

[ScreenGameplayShared]

[ScreenHeartEntry]
HeartEntryEnabled=true
ShowHeader=true
ShowFooter=true

[ScreenEvaluation]
Class="ScreenEvaluation"
Fallback="ScreenWithMenuElements"
#
StageDisplayNumberOffset=0
#
NextScreen=Branches.AfterEvaluation()
PrevScreen=Branches.AfterEvaluation()
#
PlayMusic=true
#
PrepareScreens="ScreenProfileSave,ScreenSelectMusic"
PersistScreens="ScreenEvaluation,ScreenProfileSave,ScreenSelectMusic"
#
ShowJudgmentLineW1=true
ShowJudgmentLineW2=true
ShowJudgmentLineW3=true
ShowJudgmentLineW4=true
ShowJudgmentLineW5=true
ShowJudgmentLineHeld=(GAMESTATE:GetCurrentGame():GetName() ~= "pump")
ShowJudgmentLineMiss=true
ShowJudgmentLineMaxCombo=true
ShowGradeArea=true
ShowScoreArea=true
ShowPointsArea=true
ShowSharedJudgmentLineLabels=true
ShowGraphDisplay=true
ShowComboGraph=true
ShowStepsDisplay=true
#
W1NumberP1X=SCREEN_CENTER_X-160+40
W1NumberP1Y=SCREEN_TOP+160
W1NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true
W1NumberP1OffCommand=
W1NumberP2X=SCREEN_CENTER_X+160-40
W1NumberP2Y=SCREEN_TOP+160
W1NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true
W1NumberP2OffCommand=
W1LabelX=SCREEN_CENTER_X
W1LabelY=SCREEN_TOP+160
W1LabelOnCommand=
W1LabelOffCommand=
#
W2NumberP1X=SCREEN_CENTER_X-160+40
W2NumberP1Y=SCREEN_TOP+180
W2NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true
W2NumberP1OffCommand=
W2NumberP2X=SCREEN_CENTER_X+160-40
W2NumberP2Y=SCREEN_TOP+180
W2NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true
W2NumberP2OffCommand=
W2LabelX=SCREEN_CENTER_X
W2LabelY=SCREEN_TOP+180
W2LabelOnCommand=
W2LabelOffCommand=
#
W3NumberP1X=SCREEN_CENTER_X-160+40
W3NumberP1Y=SCREEN_TOP+200
W3NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true
W3NumberP1OffCommand=
W3NumberP2X=SCREEN_CENTER_X+160-40
W3NumberP2Y=SCREEN_TOP+200
W3NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true
W3NumberP2OffCommand=
W3LabelX=SCREEN_CENTER_X
W3LabelY=SCREEN_TOP+200
W3LabelOnCommand=
W3LabelOffCommand=
#
W4NumberP1X=SCREEN_CENTER_X-160+40
W4NumberP1Y=SCREEN_TOP+220
W4NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true
W4NumberP1OffCommand=
W4NumberP2X=SCREEN_CENTER_X+160-40
W4NumberP2Y=SCREEN_TOP+220
W4NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true
W4NumberP2OffCommand=
W4LabelX=SCREEN_CENTER_X
W4LabelY=SCREEN_TOP+220
W4LabelOnCommand=
W4LabelOffCommand=
#
W5NumberP1X=SCREEN_CENTER_X-160+40
W5NumberP1Y=SCREEN_TOP+240
W5NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true
W5NumberP1OffCommand=
W5NumberP2X=SCREEN_CENTER_X+160-40
W5NumberP2Y=SCREEN_TOP+240
W5NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true
W5NumberP2OffCommand=
W5LabelX=SCREEN_CENTER_X
W5LabelY=SCREEN_TOP+240
W5LabelOnCommand=
W5LabelOffCommand=
#
MissNumberP1X=SCREEN_CENTER_X-160+40
MissNumberP1Y=SCREEN_TOP+260
MissNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true
MissNumberP1OffCommand=
MissNumberP2X=SCREEN_CENTER_X+160-40
MissNumberP2Y=SCREEN_TOP+260
MissNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true
MissNumberP2OffCommand=
MissLabelX=SCREEN_CENTER_X
MissLabelY=SCREEN_TOP+260
MissLabelOnCommand=
MissLabelOffCommand=
#
HeldNumberP1X=SCREEN_CENTER_X-160+40
HeldNumberP1Y=SCREEN_TOP+280
HeldNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true
HeldNumberP1OffCommand=
HeldNumberP2X=SCREEN_CENTER_X+160-40
HeldNumberP2Y=SCREEN_TOP+280
HeldNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true
HeldNumberP2OffCommand=
HeldLabelX=SCREEN_CENTER_X
HeldLabelY=SCREEN_TOP+280
HeldLabelOnCommand=
HeldLabelOffCommand=
#
MaxComboNumberP1X=SCREEN_CENTER_X-160+40
MaxComboNumberP1Y=SCREEN_TOP+300
MaxComboNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;set_mult_attrs_with_diffuse,true
MaxComboNumberP1OffCommand=
MaxComboNumberP2X=SCREEN_CENTER_X+160-40
MaxComboNumberP2Y=SCREEN_TOP+300
MaxComboNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;set_mult_attrs_with_diffuse,true
MaxComboNumberP2OffCommand=
MaxComboLabelX=SCREEN_CENTER_X
MaxComboLabelY=SCREEN_TOP+300
MaxComboLabelOnCommand=
MaxComboLabelOffCommand=
#
ScoreLabelX=SCREEN_CENTER_X
ScoreLabelY=SCREEN_TOP+330
ScoreLabelOnCommand=
ScoreLabelOffCommand=
#
ScoreNumberP1X=SCREEN_CENTER_X-160
ScoreNumberP1Y=SCREEN_TOP+320
ScoreNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );shadowlength,1;zoom,0.775;set_mult_attrs_with_diffuse,true
ScoreNumberP1OffCommand=
ScoreNumberP2X=SCREEN_CENTER_X+160
ScoreNumberP2Y=SCREEN_TOP+320
ScoreNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );shadowlength,1;zoom,0.775;set_mult_attrs_with_diffuse,true
ScoreNumberP2OffCommand=
#
PercentFrameP1X=SCREEN_CENTER_X-160
PercentFrameP1Y=SCREEN_TOP+320
PercentFrameP1OnCommand=visible,false
PercentFrameP1OffCommand=
#
PercentFrameP2X=SCREEN_CENTER_X+160
PercentFrameP2Y=SCREEN_TOP+320
PercentFrameP2OnCommand=visible,false
PercentFrameP2OffCommand=
#
PercentP1X=SCREEN_CENTER_X-160
PercentP1Y=SCREEN_TOP+320
PercentP1OnCommand=visible,false
PercentP1OffCommand=
#
PercentP2X=SCREEN_CENTER_X+160
PercentP2Y=SCREEN_TOP+320
PercentP2OnCommand=visible,false
PercentP2OffCommand=
#
LargeBannerX=SCREEN_CENTER_X
LargeBannerY=SCREEN_TOP+100
LargeBannerOnCommand=
LargeBannerOffCommand=
LargeBannerFrameX=SCREEN_CENTER_X
LargeBannerFrameY=SCREEN_TOP+100
LargeBannerFrameOnCommand=
LargeBannerFrameOffCommand=
#
GradeFrameP1X=SCREEN_CENTER_X-220
GradeFrameP1Y=SCREEN_TOP+80
GradeFrameP1OnCommand=
GradeFrameP1OffCommand=
GradeFrameP2X=SCREEN_CENTER_X+220
GradeFrameP2Y=SCREEN_TOP+80
GradeFrameP2OnCommand=
GradeFrameP2OffCommand=
#
GradeP1X=SCREEN_CENTER_X-220
GradeP1Y=SCREEN_TOP+100
GradeP1OnCommand=
GradeP1OffCommand=
GradeP2X=SCREEN_CENTER_X+220
GradeP2Y=SCREEN_TOP+100
GradeP2OnCommand=
GradeP2OffCommand=
#
PlayerOptionsP1X=SCREEN_CENTER_X-160
PlayerOptionsP1Y=SCREEN_TOP+352
PlayerOptionsP1OnCommand=zoom,0.5;shadowlength,1
PlayerOptionsP1OffCommand=
##
PlayerOptionsP2X=SCREEN_CENTER_X+160
PlayerOptionsP2Y=SCREEN_TOP+352
PlayerOptionsP2OnCommand=zoom,0.5;shadowlength,1
PlayerOptionsP2OffCommand=
#
SongOptionsX=SCREEN_CENTER_X
SongOptionsY=SCREEN_BOTTOM-104
SongOptionsOnCommand=zoom,0.5;shadowlength,1;
SongOptionsOffCommand=
#
DisqualifiedP1X=SCREEN_CENTER_X-220
DisqualifiedP1Y=SCREEN_TOP+140
DisqualifiedP1OnCommand=
DisqualifiedP1OffCommand=
DisqualifiedP2X=SCREEN_CENTER_X+220
DisqualifiedP2Y=SCREEN_TOP+140
DisqualifiedP2OnCommand=
DisqualifiedP2OffCommand=
#
GraphDisplayP1X=SCREEN_CENTER_X-160
GraphDisplayP1Y=SCREEN_BOTTOM-100
GraphDisplayP1OnCommand=
GraphDisplayP1OffCommand=
GraphDisplayP2X=SCREEN_CENTER_X+160
GraphDisplayP2Y=SCREEN_BOTTOM-100
GraphDisplayP2OnCommand=
GraphDisplayP2OffCommand=
#
ComboGraphP1X=SCREEN_CENTER_X-160
ComboGraphP1Y=SCREEN_BOTTOM-100+32-7
ComboGraphP1OnCommand=
ComboGraphP1OffCommand=
ComboGraphP2X=SCREEN_CENTER_X+160
ComboGraphP2Y=SCREEN_BOTTOM-100+32-7
ComboGraphP2OnCommand=
ComboGraphP2OffCommand=
#
MachineRecordP1X=SCREEN_CENTER_X-220
#MachineRecordP1Y=SCREEN_BOTTOM-156
MachineRecordP1Y=SCREEN_TOP+146
MachineRecordP1OnCommand=
MachineRecordP1OffCommand=
#
MachineRecordP2X=SCREEN_CENTER_X+220
#MachineRecordP2Y=SCREEN_BOTTOM-156
MachineRecordP2Y=SCREEN_TOP+146
MachineRecordP2OnCommand=
MachineRecordP2OffCommand=
#
PersonalRecordP1X=SCREEN_CENTER_X-160
PersonalRecordP1Y=SCREEN_BOTTOM-144
PersonalRecordP1OnCommand=
PersonalRecordP1OffCommand=
#
PersonalRecordP2X=SCREEN_CENTER_X+160
PersonalRecordP2Y=SCREEN_BOTTOM-144
PersonalRecordP2OnCommand=
PersonalRecordP2OffCommand=
#
StageAwardP1X=SCREEN_CENTER_X-220
StageAwardP1Y=SCREEN_TOP+130
StageAwardP1OnCommand=draworder,105;zoom,0.75;diffuse,Color("Yellow");diffusebottomedge,Color("Orange");strokecolor,ColorDarkTone( Color("Orange") );glowshift;textglowmode,'TextGlowMode_Inner'
StageAwardP1OffCommand=
#
StageAwardP2X=SCREEN_CENTER_X+220
StageAwardP2Y=SCREEN_TOP+130
StageAwardP2OnCommand=draworder,105;zoom,0.75;diffuse,Color("Yellow");diffusebottomedge,Color("Orange");strokecolor,ColorDarkTone( Color("Orange") );glowshift;textglowmode,'TextGlowMode_Inner'
StageAwardP2OffCommand=
#
PeakComboAwardP1X=SCREEN_CENTER_X-160
PeakComboAwardP1Y=SCREEN_TOP+300+10
PeakComboAwardP1OnCommand=draworder,105;zoom,0.5;diffusebottomedge,Color("Blue");strokecolor,ColorDarkTone( Color("Blue") );glowshift;textglowmode,'TextGlowMode_Inner'
PeakComboAwardP1OffCommand=
#
PeakComboAwardP2X=SCREEN_CENTER_X+160
PeakComboAwardP2Y=SCREEN_TOP+300+10
PeakComboAwardP2OnCommand=draworder,105;zoom,0.5;diffusebottomedge,Color("Blue");strokecolor,ColorDarkTone( Color("Blue") );glowshift;textglowmode,'TextGlowMode_Inner'
PeakComboAwardP2OffCommand=
#
ShowStepsDisplayP1=GAMESTATE:IsHumanPlayer(PLAYER_1)
StepsDisplayP1X=SCREEN_CENTER_X-160
StepsDisplayP1Y=SCREEN_BOTTOM-50
StepsDisplayP1OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP1");addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y
StepsDisplayP1OffCommand=bouncebegin,0.15;zoomx,0;
#
ShowStepsDisplayP2=GAMESTATE:IsHumanPlayer(PLAYER_2)
StepsDisplayP2X=SCREEN_CENTER_X+160
StepsDisplayP2Y=SCREEN_BOTTOM-50
StepsDisplayP2OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP2");addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y
StepsDisplayP2OffCommand=bouncebegin,0.15;zoomx,0;
#
PercentScoreP1X=SCREEN_CENTER_X-82
PercentScoreP1Y=SCREEN_BOTTOM-50
PercentScoreP1OnCommand=draworder,100;addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y;
PercentScoreP1OffCommand=bouncebegin,0.15;zoomx,0;
#
PercentScoreP2X=SCREEN_CENTER_X+238
PercentScoreP2Y=SCREEN_BOTTOM-50
PercentScoreP2OnCommand=draworder,100;addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y;
PercentScoreP2OffCommand=bouncebegin,0.15;zoomx,0;
#
ShowGameType=true
GameTypeX=SCREEN_CENTER_X
GameTypeY=SCREEN_BOTTOM-48
GameTypeOnCommand=addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y;zoom,0.675;shadowlength,1;shadowcolor,color("#22222266")
GameTypeOffCommand=bouncebegin,0.15;addy,SCREEN_CENTER_Y;
#
ShowTimingDifficulty=false
TimingDifficultyX=SCREEN_CENTER_X
TimingDifficultyY=SCREEN_TOP+16
TimingDifficultyOnCommand=zoom,0.675;draworder,105
TimingDifficultyOffCommand=
#
ShowLifeDifficulty=false
LifeDifficultyX=SCREEN_CENTER_X
LifeDifficultyY=SCREEN_TOP+32
LifeDifficultyOnCommand=zoom,0.675;draworder,105
LifeDifficultyOffCommand=
#
ShowSongInformation=true
SongInformationX=SCREEN_CENTER_X
SongInformationY=SCREEN_TOP+100
SongInformationOnCommand=playcommand,"Set";draworder,105
SongInformationOffCommand=
ShowWinArea=GAMESTATE:GetPlayMode() == 'PlayMode_Rave'
WinFrameP1X=
WinFrameP1Y=
WinFrameP1OnCommand=
WinFrameP2X=
WinFrameP2Y=
WinFrameP2OnCommand=
#----#
WinP1X=SCREEN_CENTER_X-224
WinP1Y=SCREEN_BOTTOM-224
WinP1OnCommand=draworder,101
WinP2X=SCREEN_CENTER_X+224
WinP2Y=SCREEN_BOTTOM-224
WinP2OnCommand=draworder,101
TimerSeconds=20

[ScreenEvaluationNormal]
Fallback="ScreenEvaluation"
#
PlayMusic=true
#
ShowBannerFrame=false
#
ShowStageDisplay=true
StageDisplayX=SCREEN_CENTER_X+160
StageDisplayY=SCREEN_TOP+28
StageDisplayOnCommand=draworder,105;fov,90;vertalign,bottom;vanishpoint,SCREEN_CENTER_X+160,SCREEN_TOP+28;rotationy,90;decelerate,0.5;rotationy,0;
StageDisplayOffCommand=

[ScreenEvaluationSummary]
Fallback="ScreenEvaluation"
#
NextScreen="ScreenNameEntry"
#
PlayMusic=true
#
Summary=true
#
ShowStageDisplay=false
#
ShowBannerList=true
BannerListX=SCREEN_CENTER_X
BannerListY=SCREEN_TOP+96
BannerListOnCommmand=
BannerListOffCommand=
#
SmallBanner1X=SCREEN_CENTER_X-72
SmallBanner1Y=SCREEN_TOP+100-24
SmallBanner1OnCommand=visible,false
SmallBanner1OffCommand=
SmallBanner2X=SCREEN_CENTER_X-48
SmallBanner2Y=SCREEN_TOP+100-16
SmallBanner2OnCommand=visible,false
SmallBanner2OffCommand=
SmallBanner3X=SCREEN_CENTER_X-24
SmallBanner3Y=SCREEN_TOP+100-8
SmallBanner3OnCommand=visible,false
SmallBanner3OffCommand=
SmallBanner4X=SCREEN_CENTER_X+24
SmallBanner4Y=SCREEN_TOP+100+8
SmallBanner4OnCommand=visible,false
SmallBanner4OffCommand=
SmallBanner5X=SCREEN_CENTER_X+48
SmallBanner5Y=SCREEN_TOP+100+16
SmallBanner5OnCommand=visible,false
SmallBanner5OfCommand=
SmallBanner6X=SCREEN_CENTER_X+72
SmallBanner6Y=SCREEN_TOP+100+24
SmallBanner6OnCommand=visible,false
SmallBanner6OffCommand=
TimerSeconds=20

[ScreenNameEntry]
Fallback="ScreenWithMenuElements"
NextScreen="ScreenCredits"
ShowHeader=true
ShowFooter=true
TimerSeconds=120
ForceTimer=false
CharsZoomSmall=1
CharsZoomLarge=1.5
CharsSpacingY=50
CategoryY=SCREEN_CENTER_Y+120
CategoryZoom=0.75

[ScreenNameEntryTraditional]

[ScreenContinue]
ShowHeader=false
ShowFooter=false
ContinueEnabled=false
#
TimerSeconds=20
TimerMetricsGroup="MenuTimerContinue"
TimerX=SCREEN_CENTER_X
TimerY=SCREEN_CENTER_Y+24
TimerOnCommand=visible,true
TimerOffCommand=

[ScreenProfileSave]

[ScreenProfileSaveSummary]

[ScreenGameOver]
NextScreen="ScreenCompany"
TimerSeconds=5
ForceTimer=true
PlayMusic=true
TimerOnCommand=visible,false

[ScreenThankYouForPlaying]
Fallback="ScreenGameOver"

[ScreenPrompt]

[ScreenOptionsEdit]

[EditMenu]
Arrows1X=SCREEN_CENTER_X-116
Arrows2X=SCREEN_CENTER_X+318
Label1X=SCREEN_CENTER_X-274
Label2X=SCREEN_CENTER_X-274
Label3X=SCREEN_CENTER_X-274
Label4X=SCREEN_CENTER_X-274
Label5X=SCREEN_CENTER_X-274
Label6X=SCREEN_CENTER_X-274
Label7X=SCREEN_CENTER_X-274
Value1X=SCREEN_CENTER_X+24
GroupBannerX=SCREEN_CENTER_X+218
SongTextBannerX=SCREEN_CENTER_X-80
SongBannerX=SCREEN_CENTER_X+218
Value3X=SCREEN_CENTER_X+84
Value4X=SCREEN_CENTER_X+6
Value5X=SCREEN_CENTER_X+84
Value6X=SCREEN_CENTER_X+6
Value7X=SCREEN_CENTER_X+84
StepsDisplayX=SCREEN_CENTER_X+174
StepsDisplaySourceX=SCREEN_CENTER_X+174

[TextBannerEditMode]

[ScreenEditMenu]
PrevScreen="ScreenTitleMenu"
ShowStyleIcon=true

[ScreenEdit]
LoopOnChartEnd=false

[ScreenPracticeMenu]
PrevScreen="ScreenTitleMenu"
NoSongsMessageX=SCREEN_CENTER_X
NoSongsMessageY=SCREEN_CENTER_Y

[PracticeMenu]

[ScreenPractice]
NextScreen="ScreenPracticeMenu"
PrevScreen="ScreenPracticeMenu"

[ScreenEditOptions]
LineNames="1,2,3,4,5,6,R1,R2,7,8,9,10,Attacks,11,12,13,14,15,16,SF,lead_in,ECPT"
Line1="lua,ArbitrarySpeedMods()"
LineSF="lua,OptionRowScreenFilter()"

[StepsDisplayEdit]
Fallback="StepsDisplayGameplay"

[ScreenMiniMenuEditHelp]

[OptionRowMiniMenuEditHelp]

[ScreenMiniMenuMainMenu]

[ScreenMiniMenuAreaMenu]

[ScreenMiniMenuStepsInformation]

[ScreenMiniMenuSongInformation]

[ScreenMiniMenuTimingDataInformation]

[ScreenMiniMenuBackgroundChange]
ShowFooter=false

[ScreenMiniMenuPreferences]

[ScreenMiniMenuInsertTapAttack]

[ScreenMiniMenuInsertCourseAttack]

[ScreenMiniMenuCourseDisplay]

[ScreenMiniMenuCourseOptions]

[ScreenOptionsExportPackage]

[ScreenOptionsManage]

[OptionRowManage]

[OptionRowCourseOverview]

[ScreenOptionsManageCourses]

[OptionRowCourse]

[ScreenOptionsEditCourse]

[OptionRowEditCourse]

[ScreenOptionsCourseOverview]

[ScreenGameplaySyncMachine]
SongMeterDisplayP1OnCommand=visible,false
SongMeterDisplayP2OnCommand=visible,false
StepsDescriptionP1OnCommand=visible,false
StepsDescriptionP2OnCommand=visible,false
StepsDisplayP1OnCommand=visible,false
StepsDisplayP2OnCommand=visible,false
PlayerOptionsP1OnCommand=visible,false
PlayerOptionsP2OnCommand=visible,false

[PlayerSyncMachine]

[ScreenHowToInstallSongs]
Class="ScreenSelectMaster"
Fallback="ScreenSelectMaster"
ShowHeader=true

ShowScroller=true
WrapScroller=true
LoopScroller=true
PerChoiceScrollElement=true
WrapCursor=true
#
ShowIcon=false
UseIconMetrics=false
PerChoiceIconElement=false
#
#ScrollerX=SCREEN_LEFT+32
#ScrollerY=SCREEN_CENTER_Y
#ScrollerTransform=function(self,offset,itemIndex,numItems) self:y(24*(itemIndex-(numItems-1)/2)); end
#ScrollerNumItemsToDraw=20
#ScrollerOffCommand=bouncebegin,0.25;addx,-SCREEN_CENTER_X
ScrollerSecondsPerItem=0.25
ScrollerX=SCREEN_CENTER_X
ScrollerY=SCREEN_CENTER_Y
ScrollerOnCommand=zbuffer,true;fov,85;draworder,0;
ScrollerOffCommand=
ScrollerTransform=function(self,ofs,i,n) \
	local t=ofs*math.pi*2/n; \
	self:x(math.sin(t)*650); \
	self:y(math.cos(t)*200-100); \
	self:z(math.cos(t)*400-800); \
end

ChoiceNames="WhereToFind,HowToInstall,AdditionalFolders,ReloadSongs,Exit"
ChoiceWhereToFind="urlnoexit,https://smtacvicomedition.wixsite.com/english/where-to-find-songs;text,"..Screen.String("Finding Songs")
ChoiceHowToInstall="urlnoexit,https://smtacvicomedition.wixsite.com/english/how-to-install-songs;text,"..Screen.String("Installing Songs")
ChoiceAdditionalFolders="urlnoexit,https://smtacvicomedition.wixsite.com/english/how-to-import-songs;text,"..Screen.String("Importing Songs")
ChoiceReloadSongs="screen,ScreenReloadSongs;text,"..Screen.String("Reload Songs")
ChoiceExit="screen,"..Branch.TitleMenu()..";text,"..Screen.String("Exit")
DefaultChoice="WhereToFind"

OptionOrderUp="5:4,4:3,3:2,2:1,1:5"
OptionOrderDown="1:2,2:3,3:4,4:5,5:1"

[ScreenSMOnlineLogin]

[ScreenNetSelectBase]

[ScreenNetSelectMusic]
BPMDisplayX=SCREEN_CENTER_X-160-90+2
BPMDisplayY=SCREEN_CENTER_Y+156
BPMDisplayOnCommand=finishtweening;horizalign,left;strokecolor,Color("Outline");maxwidth,128;addx,320;zoomx,0;decelerate,0.35;addx,-320;zoomx,1
BPMDisplayOffCommand=bouncebegin,0.15;zoomx,0;

StepsDisplayP1X=SCREEN_CENTER_X-240
StepsDisplayP1Y=SCREEN_CENTER_Y+185
StepsDisplayP1OnCommand=horizalign,right;zoomx,0.0;zoomy,0.0;linear,0.5;zoomy,1.0;zoomx,1.0
StepsDisplayP1OffCommand=linear,0.5;zoomx,0.0;zoomy,0.0
#--#
StepsDisplayP2X=SCREEN_CENTER_X-110
StepsDisplayP2Y=SCREEN_CENTER_Y+185
StepsDisplayP2OnCommand=horizalign,right;zoomx,0.0;zoomy,0.0;linear,0.5;zoomy,1.0;zoomx,1.0
StepsDisplayP2OffCommand=linear,0.5;zoomx,0.0;zoomy,0.0
#====#

ShowBPMDisplay=true
BPMDisplayX=SCREEN_CENTER_X+2
BPMDisplayY=SCREEN_CENTER_Y+188
BPMDisplayOnCommand=finishtweening;maxwidth,128;horizalign,left;strokecolor,Color("Outline");addx,320;zoomx,0;decelerate,0.35;addx,-320;zoomx,1
BPMDisplayOffCommand=bouncebegin,0.15;zoomx,0;
#--#
ShowBPMLabel=true
BPMLabelX=SCREEN_CENTER_X
BPMLabelY=SCREEN_CENTER_Y+188
BPMLabelOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.35;addx,SCREEN_CENTER_X
BPMLabelOffCommand=bouncebegin,0.15;zoomx,0;

UsersX=SCREEN_CENTER_X-272
UsersY=SCREEN_CENTER_Y-172
UsersDX=40
UsersAY=16
UsersOnCommand=draworder,2;zoom,0.75;shadowlength,1
#
ShowDifficultyDisplay=true
DifficultyDisplayX=SCREEN_CENTER_X
DifficultyDisplayY=SCREEN_CENTER_Y+158
DifficultyDisplayOnCommand=draworder,105;fov,90;zoom,0.75
DifficultyDisplayOffCommand=linear,0.25;zoomy,0;

[StepsDisplayNet]

[ScreenNetRoom]

[RoomWheel]

[RoomWheelItem]

[RoomInfoDisplay]

[ScreenSMOnlineSelectMusic]

[ModIcon]

[ModIconSelectMusic]

[ModIconRow]

[ModIconRowSelectMusic]

[GraphDisplay]

[ComboGraph]

[ScreenNetEvaluation]
UserTier02OrBetterCommand=diffuseshift;effectperiod,0.75;effectcolor1,color("1,0.95,0.8,1");effectcolor2,color("0.8,0.95,1,1")

# Arcade

[ScreenLogo]
PrevScreen="ScreenCompany"
NextScreen="ScreenHowToPlay"
PlayMusic=true
TimerSeconds=10
ShowLogo=true
LogoX=SCREEN_CENTER_X-48
LogoY=SCREEN_CENTER_Y-48
LogoOnCommand=bob;effectperiod,3;effectmagnitude,0,7.5,0;zoom,0;bounceend,0.375;zoom,1;
LogoOffCommand=stopeffect;bouncebegin,0.25;zoom,0
ArcadeOverlay.TextY=SCREEN_BOTTOM-100
#
ShowCreditDisplay=true

[ScreenHowToPlay]
NextScreen="ScreenDemonstration"
LifeMeterBarX=SCREEN_CENTER_X+210
LifeMeterBarOnCommand=addy,-60;sleep,1.25;linear,0.25;addy,60
UsePlayer=true
PlayerX=SCREEN_CENTER_X+210
PlayerY=SCREEN_CENTER_Y
PlayerOnCommand=
UseCharacter=false
UsePad=false
TimerSeconds=55
#
SongBPM=100
NumW2s=8
NumMisses=7
ArcadeOverlay.TextY=SCREEN_BOTTOM-90

[ScreenTitleJoin]
PrevScreen="ScreenCompany"
PlayMusic=true
ShowHelp=false
HelpText=Screen.String("HelpTextTitleJoin")
HelpY=SCREEN_CENTER_Y+100
HelpOnCommand=visible,false;zoom,1;strokecolor,color("0.125,0.125,0.125,0.5");queuecommand,"Refresh"
HelpCoinIsertedMessageCommand=playcommand,"Refresh"
HelpCoinModeChangedMessageCommand=playcommand,"Refresh"
HelpRefreshCommand=%function(self) \
	local bCanPlay = GAMESTATE:EnoughCreditsToJoin(); \
	local bReady = GAMESTATE:GetNumSidesJoined() > 0; \
	if bCanPlay or bReady then \
		self:SetTipsColonSeperated(THEME:GetString( Var "LoadingScreen","HelpTextPlay")); \
	else \
		self:SetTipsColonSeperated(THEME:GetString( Var "LoadingScreen","HelpTextWait")); \
	end \
end;
#
LogoX=SCREEN_CENTER_X-48
LogoY=SCREEN_CENTER_Y-60
LogoOnCommand=bob;effectperiod,3;effectmagnitude,0,7.5,0;zoom,0;bounceend,0.375;zoom,1;
LogoOffCommand=stopeffect;bouncebegin,0.25;zoom,0

VersionInfoX=SCREEN_CENTER_X+110
VersionInfoY=SCREEN_CENTER_Y+4
VersionInfoOnCommand=horizalign,right;vertalign,bottom;bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,1;shadowlength,1;shadowcolor,color("0.2,0.2,0.2,0.925");
ScrollerOnCommand=visible,false;
ArcadeOverlay.TextY=SCREEN_BOTTOM-90
TimerSeconds=10
TimerStealth=true
ForceTimer=true
IdleTimeoutSeconds=10
IdleTimeoutScreen="ScreenHowToPlay"
ShowFooter=true
#
ShowCurrentGametype=false
#
ShowClock=true
ClockX=SCREEN_RIGHT-100
ClockY=SCREEN_TOP+24
ClockOnCommand=vertalign,bottom;zoom,0.75;shadowlength,2
ClockOffCommand=
#
IconChoiceGameStartX=
IconChoiceGameStartY=
IconChoiceGameStartOnCommand=
IconChoiceGameStartOffCommand=

[ScreenDemonstration]
SongMeterDisplayOnCommand=visible,false
SongMeterDisplayP1OnCommand=visible,false
SongMeterDisplayP2OnCommand=visible,false
LifeP1OnCommand=visible,false
LifeP2OnCommand=visible,false
ScoreP1OnCommand=visible,false
ScoreP2OnCommand=visible,false
StepsDisplayP1OnCommand=zoomy,0;linear,0.3;zoomy,1;sleep,3;smooth,0.5;y,SCREEN_BOTTOM-20;zoomy,0
StepsDisplayP2OnCommand=zoomy,0;linear,0.3;zoomy,1;sleep,3;smooth,0.5;y,SCREEN_BOTTOM-20;zoomy,0
ShowBPMDisplay=true
DifficultiesToShow="beginner,easy,medium,hard,challenge,edit"
ArcadeOverlay.TextY=SCREEN_BOTTOM-100

[ScreenJukeboxMenu]

[ScreenJukebox]

[ScreenCredits]
NextScreen="ScreenThankYouForPlaying"

[TimingData]
GetReturnsNumbers=true

[CustomScoring]
ComboScoreBonusThreshold=100